public class TestJava8Time {
public static void main(String[] args) {
//1、java8时间格式化
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
/**
* 输出结果:2019-09-16 11:08:43
*/
System.out.println(dateTimeFormatter.format(LocalDateTime.now()));
//2、时间的各种操作
//2.1 加上一天(2019-09-17T11:18:24.050),减去一个小时(2019-09-16T10:18:43.562)
System.out.println(LocalDateTime.now().plusDays(1L).toString());
System.out.println(LocalDateTime.now().minusHours(1L).toString());
//2.2 本周的星期一(2019-09-16)和星期天的日期(2019-09-22)
System.out.println(LocalDate.now().with(DayOfWeek.MONDAY));
System.out.println(LocalDate.now().with(DayOfWeek.SUNDAY));
//2.3 这一天开始(2019-09-16T00:00)和结束(2019-09-16T23:59:59.999999999)
System.out.println(LocalDateTime.of(LocalDate.now(), LocalTime.MIN));
System.out.println(LocalDateTime.of(LocalDate.now(), LocalTime.MAX));
//2.4 通过具体数字生成日期(2019-09-11T11:12:14)
System.out.println(LocalDateTime.of(2019,9,11,11,12,14));
//2.5 字符串生成日期:2019-09-16 10:18:43
System.out.println(LocalDateTime.parse("2019-09-16T10:18:43").toString());
//2.6 通过格式化的字符串生成日期:返回结果:2019-09-16T10:18:43
System.out.println(LocalDateTime.parse("2019-09-16 10:18:43",dateTimeFormatter));
//3 Timestamp和LocalDateTime的转化(这个我经常会用到,因为java8时间操作很方便,而很多时候,最终结果都需要时间戳)
Timestamp timestamp = Timestamp.valueOf(LocalDateTime.now());//然后可以通过Timestamp可以获取时间戳
LocalDateTime dateTime = new Timestamp(System.currentTimeMillis()).toLocalDateTime();//将时间戳转成LocalDateTime
}
}