Java学习笔记23(Calendar类)
2018-06-18 03:55:05来源:未知 阅读 ()
Calendar意味日历,对Date类中的很多方法做了改进
Calendar类是一个抽象类,不可以见对象,需要子类完成实现
不过这个类有特殊之处,不需要创建子类对象,而是使用它的静态方法直接获取:
示例:
package demo; import java.util.Calendar; public class CalendarDemo { public static void main(String[] args) { Calendar c1 = Calendar.getInstance(); System.out.println(c1); } }
发现输出很多内容,我们仔细看下:
java.util.GregorianCalendar[time=1515655126876,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo
[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],
firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=0,WEEK_OF_YEAR=2,
WEEK_OF_MONTH=2,DAY_OF_MONTH=11,DAY_OF_YEAR=11,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,
HOUR=3,HOUR_OF_DAY=15,MINUTE=18,SECOND=46,MILLISECOND=876,ZONE_OFFSET=28800000,DST_OFFSET=0]
这些和日期有关的内容用一些方法可以得到:
示例:
package demo; import java.util.Calendar; public class CalendarDemo { public static void main(String[] args) { function(); } public static void function(){ Calendar c1 = Calendar.getInstance(); int year = c1.get(Calendar.YEAR); //获取月份时候记得加1,类的内部是0-11月 int month = c1.get(Calendar.MONTH)+1; int day = c1.get(Calendar.DAY_OF_MONTH); System.out.println(year+"年"+month+"月"+day+"日"); //输出:2018年1月11日 } }
其他的一些方法:
package demo; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { function1(); function2(); function3(); } public static void function1() { Calendar c1 = Calendar.getInstance(); c1.set(Calendar.MONTH, 9); int year = c1.get(Calendar.YEAR); int month = c1.get(Calendar.MONTH) + 1; int day = c1.get(Calendar.DAY_OF_MONTH); System.out.println(year + "年" + month + "月" + day + "日"); // 输出:2018年10月11日 } public static void function2() { Calendar c1 = Calendar.getInstance(); c1.add(Calendar.DAY_OF_MONTH, 250); int year = c1.get(Calendar.YEAR); int month = c1.get(Calendar.MONTH) + 1; int day = c1.get(Calendar.DAY_OF_MONTH); System.out.println(year + "年" + month + "月" + day + "日"); // 输出:2018年9月18日 } public static void function3() { Calendar c1 = Calendar.getInstance(); Date date = c1.getTime(); System.out.println(date); // 输出:Thu Jan 11 15:36:39 CST 2018 } }
Calendar类的简单应用:
1.求出自己已经出生多少天:
示例:
package demo; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; //需要知道生日,今日,再做运算即可 public class DateTest { public static void main(String[] args) throws ParseException { function(); } public static void function() throws ParseException { System.out.println("请输入出生日期(格式:YYYY-MM-dd)"); String birthdayString = new Scanner(System.in).next(); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); Date birthdayDate = sdf1.parse(birthdayString); Date todayDate = new Date(); long birthdaySecond = birthdayDate.getTime(); long todaySecond = todayDate.getTime(); long second = todaySecond - birthdaySecond; if (second < 0) { System.out.println("还没出生"); } else { System.out.println(second / 1000 / 60 / 60 / 24); } } }
2.算闰年(这里不用除4等方法)
示例:
package demo; import java.util.Calendar; import java.util.Scanner; public class DateTest { public static void main(String[] args){ function(); } public static void function(){ Calendar c1 = Calendar.getInstance(); System.out.println("请输入年份"); int year = new Scanner(System.in).nextInt(); c1.set(year, 2, 1);//这里没有错误,2就是3月,类中是0-11月 c1.add(Calendar.DAY_OF_MONTH, -1); int day = c1.get(Calendar.DAY_OF_MONTH); if(day == 29){ System.out.println("是闰年"); }else{ System.out.println("不是闰年"); } } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:JAVA导出EXCEL表格
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash