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 }}