首页 > 解决方案 > 如何将字符串更改为日期格式

问题描述

我有这个字符串:2018-09-22 10:17:24.772000 我想将它转换为日期:

 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");

    String sdate = "2018-09-22 10:17:24.772000";
    Date dateFrom = simpleDateFormat.parse(sdate);

但它显示:Sat Sep 22 10:17:24 GMT+03:30 2018

标签: javadatetimesimpledateformat

解决方案


这是你应该做的,你正在打印日期对象本身,你应该打印它的格式。

我将提供带有旧日期 api 和新本地日期 api 的代码:

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");

    String sdate = "2018-09-22 10:17:24.772000";
    Date dateFrom = simpleDateFormat.parse(sdate);

    System.out.println(dateFrom); // this is what you do
    System.out.println(simpleDateFormat.format(dateFrom)); // this is what you should do

    // below is from new java.time package

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS");
    System.out.println(LocalDateTime.parse(sdate, formatter).format(formatter));

输出是:

Sat Sep 22 10:30:16 EET 2018
2018-09-22 10:30:16.000000

2018-09-22 10:17:24.772000

推荐阅读