java - 如何格式化日期/时间字符串? ( java )

标签 java parsing calendar

嗨,有人可以帮忙吗?我正在尝试格式化日期和时间字符串。 目前它看起来像这样“20160112T110000Z”,我需要它是“2016-01-12T11:00:00Z

没有特殊字符的字符串是从第 3 方重复库返回的。在将其解析为 Calendar 对象之前,我需要将其转换为具有特殊字符。

有人可以帮忙吗?

我目前的代码如下所示:

 final String TIMEFORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'";
 String string = "20160112T110000Z";
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
    Date date = format.parse(string);
    System.out.println(date); 

然而,这是行不通的。

感谢任何建议

最佳答案

您必须读取格式与源匹配的字符串,这会为您提供正确的Date

然后简单地写成你想要的格式:

    String string = "20160112T110000Z";

    String originalStringFormat = "yyyyMMdd'T'HHmmss'Z'";
    String desiredStringFormat = "yyyy-MM-dd'T'HH:mm:ss'Z'";

    SimpleDateFormat readingFormat = new SimpleDateFormat(originalStringFormat);
    SimpleDateFormat outputFormat = new SimpleDateFormat(desiredStringFormat);

    try {
        Date date = readingFormat.parse(string);
        System.out.println(outputFormat.format(date));
    } catch (ParseException e) {

        e.printStackTrace();
    }

关于java - 如何格式化日期/时间字符串? ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38436916/

相关文章:

java - 由空格分隔的 9 个唯一数字的正则表达式?

java - Java 浮点基元是否有任何 IEEE 754 标准实现?

java - tomcat停止时如何停止线程

python - 使用 Lambdas 从字符串表达式构建可执行函数

c - 连续两次使用 yylex()

java - 为什么 Joda 和 Calendar 打印的时间不同?

java - 如何在上一个之后返回下一个 indexOf?

Python:在保留实体的同时解析 XML 文档

java - Java 中的日历

javascript - 可用性日历 - 最高效 - PHP/MySql/JavaScript