Calendar
Calendar的创建
Calendar calendar=Calendar.getInstance();
获取当前时间的年,月,日,时,分,秒
System.out.println("year:"+calendar.get(Calendar.YEAR));
System.out.println("moneth:"+(calendar.get(Calendar.MONTH)+1));// 月份范围0-11,需要加一
System.out.println("day:"+calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("hour(12):"+calendar.get(Calendar.HOUR));//十二小时制
System.out.println("hour(24):"+calendar.get(Calendar.HOUR_OF_DAY));//二十四小时制
System.out.println("weekday:"+(calendar.get(Calendar.DAY_OF_WEEK)-1));//英语国家从周日开始计算
日期增减
calendar.add(Calendar.YEAR, 1);//当前时间加一年
// calendar.add(Calendar.MONTH, 1);//当前时间加一月
// calendar.add(Calendar.DATE, 1);//当前时间加一天
System.out.println("year:"+calendar.get(Calendar.YEAR));
System.out.println("moneth:"+(calendar.get(Calendar.MONTH)+1));// 月份范围0-11,需要加一
System.out.println("day:"+calendar.get(Calendar.DAY_OF_MONTH));
设置日期
calendar.set(Calendar.YEAR, 2050);
calendar.set(Calendar.MONTH, 10);//设置为11月
calendar.set(Calendar.DATE, 5);
calendar.set(2080, 2,5);//设置日期为2080年3月5日
System.out.println("year:"+calendar.get(Calendar.YEAR));
System.out.println("moneth:"+(calendar.get(Calendar.MONTH)+1));// 月份范围0-11,需要加一
System.out.println("day:"+calendar.get(Calendar.DAY_OF_MONTH));
Instant
// 当前时间戳
Instant timestamp = Instant.now();
System.out.println("当前时间戳:" + timestamp);//当前时间戳:-01-17T07:56:34.063Z
// 从毫秒数来创建时间戳
Instant specificTime = Instant.ofEpochMilli(timestamp.toEpochMilli());
System.out.println("从毫秒数来创建时间戳:" + specificTime);//从毫秒数来创建时间戳:-01-17T07:56:34.063Z
Date date = Date.from(timestamp);
System.out.println("当前时间:" + date);//当前时间:Sun Jan 17 15:56:34 CST
LocalDate
// 获取当前时间
LocalDate today = LocalDate.now();
System.out.println("当前时间:" + today);//当前时间:-01-17
// 用指定时间创建LocalDate 对象
LocalDate firstDay_ = LocalDate.of(, Month.JANUARY, 1);
System.out.println("指定日期:" + firstDay_);//指定日期:-01-01
// 更改时区
LocalDate todayBeijing = LocalDate.now(ZoneId.of("Asia/Shanghai"));
System.out.println("上海当地时间:" + todayBeijing);//上海当地时间:-01-17
// 从纪元日(01/01/1970)至今第365天
LocalDate dateFromBase = LocalDate.ofEpochDay(365);
System.out.println("从纪元日(01/01/1970)至今第365天:" + dateFromBase);//从纪元日(01/01/1970)至今第365天:1971-01-01
// 的第100天
LocalDate A100day = LocalDate.ofYearDay(, 100);
System.out.println("的第100天:" + A100day);//的第100天:-04-10
LocalTime
// 获取当前时间
LocalTime time = LocalTime.now();
System.out.println("当前时间:" + time);//当前时间:16:05:08.494
// 设置时间
LocalTime setTime = LocalTime.of(12, 20, 25, 40);
System.out.println("设置的时间为:" + setTime);//设置的时间为:12:20:25.000000040
// 上海时间
LocalTime timeSH = LocalTime.now(ZoneId.of("Asia/Shanghai"));
System.out.println("上海时间为:" + timeSH);//上海时间为:16:05:08.495
// 一天第x秒
LocalTime xSecondTime = LocalTime.ofSecondOfDay(10000);
System.out.println("一天中的第10000秒:" + xSecondTime);//一天中的第10000秒:02:46:40
LocalDateTime
// 获取当前时间
LocalDateTime today = LocalDateTime.now();
System.out.println("当前时间:" + today);//当前时间:-01-17T16:07:23.850
today = LocalDateTime.of(LocalDate.now(), LocalTime.now());
// 设置时间
LocalDateTime setDate = LocalDateTime.of(, Month.JANUARY, 1, 10, 10, 30);
System.out.println("设置的日期为:" + setDate);//设置的日期为:-01-01T10:10:30
// 上海时区
LocalDateTime todayShangHai = LocalDateTime.now(ZoneId.of("Asia/Shanghai"));
System.out.println("上海日期为:" + todayShangHai);//上海日期为:-01-17T16:07:23.851
// 从01/01/1970至今第10000秒
LocalDateTime dateFromBase = LocalDateTime.ofEpochSecond(10000, 0, ZoneOffset.UTC);
System.out.println("从01/01/1970至今第10000秒" + dateFromBase);//从01/01/1970至今第10000秒1970-01-01T02:46:40