Date时间类API

    技术2024-08-08  74

    JDK8版本之前

    //String转换对象格式必须一致 s 和 pattern 的格式 String s = "2020-08-03 15:30:00"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date parse = sdf.parse(s); System.out.println(parse); //此时打印的是电脑时间的格式 Date d = new Date(); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); String format = sdf1.format(d); System.out.println(format);

    JDK8之后

    //public static LocalDateTime parse (准备解析的字符串, 解析格式) //把一个日期字符串解析成为一个LocalDateTime对象 String dateStr = "2020年07月03日 15:30:00"; DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss"); LocalDateTime parse = LocalDateTime.parse(dateStr, pattern); System.out.println(parse); // public String format (指定格式) 把一个LocalDateTime格式化成为一个字符串 LocalDateTime localDateTime = LocalDateTime.of(2020, 7, 3, 21, 23, 4); DateTimeFormatter pattern1 = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss"); String s = localDateTime.format(pattern1); System.out.println(s);

    总结:两个版本,只要是给一个字符串,String转对象格式必须一致,否则会 运行错误。而且它们都需要解析! 不是字符串的格式不需要解析,只需要调用formate方法就行。

    修改 date.withYear(2019); 间隔 Period.between(日期1, 日期2); // 年月日的间隔 Duration.between(日期1, 日期2); // 精度更高
    Processed: 0.013, SQL: 9