package JavaBase.DateDemo;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
/**
* @program: JavaBase.DateDemo
* @description: LocalDateTime的用法,java8 java.time包采用新的时间API
* @author: tyl
* @date: 2021-07-25 15:34
**/
public class demo_1 {
public static void main(String[] args) {
LocalDate date = LocalDate.now();
LocalTime time = LocalTime.now();
LocalDateTime now = LocalDateTime.now();
System.out.println("当前日期:" + date);
System.out.println("当前时间:" + time);
System.out.println("当前日期和时间:" + now);
// 由于上面是按照程序顺序执行,会存在时间差,通过下面方式获取同一时刻的日期和时间
LocalDateTime dt = LocalDateTime.now();
LocalDate d = dt.toLocalDate();// 转换到当前日期
LocalTime t = dt.toLocalTime();// 转换到当前时间
System.out.println("d:" + d);
System.out.println("t:" + t);
// 设置指定日期和时间,使用of方法
LocalDate date1 = LocalDate.of(2021, 7, 25);
System.out.println("date1:" + date1);
LocalTime time1 = LocalTime.of(15, 56, 22);
System.out.println("time1:" + time1);
// 在使用日期和时间时,经常需要格式化时间的样式,需要使用DateTimeFormatter类
// 自定义格式化
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
System.out.println(dtf.format(LocalDateTime.now()));
// 用自定义格式解析,解析为标准时间
LocalDateTime parse = LocalDateTime.parse("2021/07/25 16:02:39",dtf);
System.out.println(parse);
// 实际过程中经常使用时间进行加减运算,LocalDateTime提供了年月日的简单加减
LocalDateTime dt1 = LocalDateTime.of(2020, 7, 25, 16, 1, 22);
System.out.println("dt1:"+dt1);
//加2月5天减3小时
LocalDateTime dt2 = dt1.plusMonths(2).plusDays(7).minusHours(5);
System.out.println("dt2:"+dt2);
}
}