【问题标题】:How to print DateTime without milliseconds [duplicate]如何在没有毫秒的情况下打印 DateTime [重复]
【发布时间】:2015-11-19 07:59:13
【问题描述】:

我正在从文件中读取数据,并且需要在经过一些计算后将其序列化到其他地方。如何在没有毫秒的情况下打印以下内容,以便传递给 DateTime.parse 的字符串与输出的字符串相同?

System.out.println(DateTime.parse("2015-06-06T01:51:49-06:00").toString())

2015-06-06T01:51:49.000-06:00

【问题讨论】:

    标签: java date datetime jodatime


    【解决方案1】:
    DateTimeFormatter formatter = new DateTimeFormatterBuilder().append(ISODateTimeFormat.dateTimeNoMillis()).toFormatter().withOffsetParsed();
    formatter.print(DateTime.parse("2015-06-06T01:51:49-06:00"))
    

    【讨论】:

    • 这个答案是唯一真正回答原始问题的答案(更不用说同时非常优雅)。不知道为什么其他答案被如此赞成。 PS:更简单的解决方案是调用 yourDateTime.toString(ISODateTimeFormat.dateTimeNoMillis());
    • 感谢@vanomart 提供最简单的解决方案!
    【解决方案2】:

    看看这个 SimpleDateFormat

    【讨论】:

      【解决方案3】:

      您可以使用joda time formatter:

      DateTime dt = new DateTime();
      DateTimeFormatter fmt = DateTimeFormat.forPattern("MMMM, yyyy");
      String str = fmt.print(dt);
      

      【讨论】:

        猜你喜欢
        • 2016-01-24
        • 2010-09-11
        • 1970-01-01
        • 1970-01-01
        • 2018-06-30
        • 1970-01-01
        • 2020-10-13
        • 1970-01-01
        • 2020-12-03
        相关资源
        最近更新 更多