【问题标题】:java format particular date with T characterjava用T字符格式化特定日期
【发布时间】:2015-06-04 22:19:12
【问题描述】:

解析这个日期的正确格式是什么?:2015-05-29T00:00:00+02:00

DateFormat format = new SimpleDateFormat("yyyyy-mm-dd hh:mm:ss");
Date data = format.parse(dataValue);

【问题讨论】:

    标签: java date date-format simpledateformat


    【解决方案1】:

    试试

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
    

    注意

    • MM 代表月,mm 代表分钟。
    • 如果您想要 24 小时格式,请使用 HHhh 用于 12 小时格式
    • XXX 表示格式为-08:00 的时区
    • 要在格式中添加像 T 这样的文字,您需要用单引号将其括起来 ' like 'T'

    【讨论】:

    • 谢谢它有效,请问我该如何更改“yyyy-MM-dd”中的格式输出?
    • 如果您有数据作为格式为yyyy-MM-dd'T'HH:mm:ssXXX 的字符串,并且您想将其转换为格式yyyy-MM-dd 他们我会说最简单的方法是使用子字符串来选择这个yyyy-MM-dd 部分。但是,例如,如果您想将其转换为 dd/MM/yyyy 之类的东西,那么您需要创建另一个日期格式化程序,并简单地由原始格式化程序返回 format Date。所以你的代码可以像String newFormat = newFormatter.format(oldFormatter.parse(stringDate)).
    【解决方案2】:

    java.time

    旧的日期时间 API(java.util 日期时间类型及其格式化 API,SimpleDateFormat)已过时且容易出错。建议完全停止使用,改用java.timemodern date-time API*

    由于现代日期时间 API 基于 ISO 8601 标准,您无需显式使用 DateTimeFormatter 对象来解析符合 ISO 8601 标准的日期时间字符串。您的日期时间字符串包含时区偏移字符串 (+02:00),因此,用于解析它的最合适的类型是 OffsetDateTime

    演示:

    import java.time.OffsetDateTime;
    
    public class Main {
        public static void main(String args[]) {
            OffsetDateTime odt = OffsetDateTime.parse("2015-05-29T00:00:00+02:00");
            System.out.println(odt);
        }
    }
    

    输出:

    2015-05-29T00:00+02:00
    

    无论出于何种原因,如果您需要来自 OffsetDateTime 的这个对象的 java.util.Date 实例,您可以按照以下方式进行:

    Date date = Date.from(odt.toInstant());
    

    Trail: Date Time 了解有关 modern date-time API* 的更多信息。


    * 出于任何原因,如果您必须坚持使用 Java 6 或 Java 7,您可以使用 ThreeTen-Backport,它将大部分 java.time 功能向后移植到 Java 6 和 7 . 如果您正在为一个 Android 项目工作并且您的 Android API 级别仍然不符合 Java-8,请检查 Java 8+ APIs available through desugaringHow to use ThreeTenABP in Android Project

    【讨论】:

      猜你喜欢
      • 2018-09-27
      • 1970-01-01
      • 2017-04-09
      • 1970-01-01
      • 1970-01-01
      • 2019-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多