七冶建设集团网站,长治电子商务网站建设,自己做的网站怎么用qq登入,免费律师咨询平台平常开发过程当中#xff0c;我们可能会见到有的日期格式是这样的。
1、2022-12-21T12:20:1608:00
2、2022-12-21T12:20:16.0000800
3、2022-12-21T12:20:16.00008:00下面来说一下这种时间格式怎么转换
第一种#xff1a;2022-12-21T12:20:1608:00
代码如下#xff1a; p…平常开发过程当中我们可能会见到有的日期格式是这样的。
1、2022-12-21T12:20:1608:00
2、2022-12-21T12:20:16.0000800
3、2022-12-21T12:20:16.00008:00下面来说一下这种时间格式怎么转换
第一种2022-12-21T12:20:1608:00
代码如下 public static void main(String[] args) throws ParseException {SimpleDateFormat dateFormat new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String dateStr 2022-12-21 12:20:16;Date date dateFormat.parse(dateStr);SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-ddTHH:mm:ssXXX);String format sdf.format(date);System.out.println(format);}第二种2022-12-21T12:20:16.0000800
代码如下
public static void main(String[] args) throws ParseException {SimpleDateFormat dateFormat new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String dateStr 2022-12-21 12:20:16;Date date dateFormat.parse(dateStr);SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-ddTHH:mm:ss.SSSZ);String format sdf.format(date);System.out.println(format);}第三种2022-12-21T12:20:16.00008:00
代码如下 public static void main(String[] args) throws ParseException {SimpleDateFormat dateFormat new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String dateStr 2022-12-21 12:20:16;Date date dateFormat.parse(dateStr);SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-ddTHH:mm:ss.SSSXXX);String format sdf.format(date);System.out.println(format);}上面三种都是用 SimpleDateFormat 实现的。SimpleDateFormat不是线程安全的。 因此我们可以用DateTimeFormatter 这是线程安全的。 并且DateTimeFormatter 是java8当中引入的比前者更加灵活。你值得拥有。
public static void main(String[] args) {DateTimeFormatter formatter1 DateTimeFormatter.ofPattern(yyyy-MM-ddTHH:mm:ss.SSSZ);DateTimeFormatter formatter2 DateTimeFormatter.ofPattern(yyyy-MM-ddTHH:mm:ssXXX);DateTimeFormatter formatter3 DateTimeFormatter.ofPattern(yyyy-MM-ddTHH:mm:ss.SSSXXX);LocalDateTime now LocalDateTime.now();// 2023-07-29T14:43:57.4310800String value1 now.atZone(ZoneId.systemDefault()).format(formatter1);System.out.println(value1);// 2023-07-29T14:43:5708:00String value2 now.atZone(ZoneId.systemDefault()).format(formatter2);System.out.println(value2);// 2023-07-29T14:58:12.02308:00String value3 now.atZone(ZoneId.systemDefault()).format(formatter3);System.out.println(value3);}为什么说DateTimeFormatter是线程安全的 这里附上部分源码。 DateTimeFormatter类 以及内部的常量 都是使用final关键字修饰的是不可变的。