java日期类的基础用法(附上示例)
Date date = new Date();
System.out.println(date);
System.out.printf("%tF %<tT%n",date); //date 当前时间 %tF : 格式化年月日 %<tT% : 格式化时分秒 %n :换行
System.out.println("------------------------------------------");
//时间戳 long 数字表 毫秒数
System.out.println(System.currentTimeMillis());
System.out.printf("%tF %<tT%n" , System.currentTimeMillis()); //System.currentTimeMillis() 获取从1970年到现在的毫秒数 并进行格式话输出
System.out.println("----------------------");
//日历函数 Calendar
//计算两个日期之间有多少天
Calendar instance = Calendar.getInstance();
/**
* System.out.println(instance); 输出获得
* java.util.GregorianCalendar[time=1688732063353,areFieldsSet=true,areAllFieldsSet=true,
* lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,
* transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2023,MONTH=6,WEEK_OF_YEAR=27,
* WEEK_OF_MONTH=2,DAY_OF_MONTH=7,DAY_OF_YEAR=188,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=8,HOUR_OF_DAY=20,
* MINUTE=14,SECOND=23,MILLISECOND=353,ZONE_OFFSET=28800000,DST_OFFSET=0]
* 意义 获取从1970年1月1日到现在的具体信息 包括 年月日时分秒 毫秒 星期等各种
* YEAR:年份 ; MONTH:月份(从0开始算) ; DATE:当前时间为多少号(日历式的多少号) ; HOUR:12小时制 ; HOUR_OF_DAY:24小时制
* MINUTE:分钟 ; SECOND:秒数 ; MILLENSECOND:毫秒数 ;
* WEEK_OF_MONTH //当前时间是所在当前月的第几个星期(日历式的第几周) WEEK_OF_YEAR //当前时间是所在当前年的第几个星期
* DAY_OF_WEEK_IN_MONTH //当前时间是所在当前月的第几个星期,以月份天数为标准,一个月的1号为第一周,8号为第二周
* DAY_OF_WEEK //一周七天中,当前时间是一周中的第几天 DAY_OF_YEAR //表示一年中的第几天
* DAY_OF_MONTH //表示一个月中的第几天,结果等同于DATE AM_PM //表示是上午还是下午
* SUNDAY //周日 MONDAY //周一 TUESDAY //周二 WEDNSDAY //周三
* THURSDAY //周四 FRIDAY //周五 SATURDAY //周六
*/
instance.set(2001,4-1,23,8,9,13);//出生时间 月份从0开始所以减一才能得到想要的数据
long timeInMillis = instance.getTimeInMillis();//拿到出生的时间
long millis = System.currentTimeMillis();//现在的时间
long ok=millis-timeInMillis;//存活的毫秒数
long day=1000*60*60*24; //一天所需要的毫秒数
long days=ok/day;//存活的天数
if (ok%day!=0){
days++;
}
System.out.println(days);
System.out.println("------------------------");
System.out.printf("%tF %<tT%n",instance);
}