java - 简单日期格式,解析异常

标签 java date datetime simpledateformat

使用安卓工作室

我正在从 Facebook 检索日期,它以字符串形式出现“2015-11-21T17:49:49+0000

我想把它变成一个格式为“EEE MMM dd HH:mm:ss Z yyyy”的日期,当然我需要先把它变成一个日期对象

尝试这样做时,我试图将其解析为“EEE-MM-dd'T'HH:mm:ssZyyyy”,但这会导致我的程序崩溃。 “ParseException:无法解析的日期:“2015-11-21T17:49:49+0000”(在偏移量 0 处)”

难道是日期后面带的T符号?还是我使用的格式不正确?

最佳答案

您的输入格式需要yyyy(不是EEE)。类似的东西,

String in = "2015-11-21T17:49:49+0000";
String fmtIn = "yyyy-MM-dd'T'HH:mm:ssZ";
String fmtOut = "EEE MMM dd HH:mm:ss Z yyyy";
DateFormat sdf = new SimpleDateFormat(fmtIn);
try {
    Date d = sdf.parse(in);
    DateFormat outSDF = new SimpleDateFormat(fmtOut);
    System.out.println(outSDF.format(d));
} catch (ParseException e) {
    e.printStackTrace();
}

输出(因为我在美国东部时间)是

Sat Nov 21 12:49:49 -0500 2015

关于java - 简单日期格式,解析异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33848264/

相关文章:

datetime - 转换时区时注意夏令时

java - 由于 Maven 依赖关系,Map、List 不是通用的且 isEmpty 函数未定义

java - 捕获异常后可以继续事务操作吗?

javascript - 如何获取两个日期之间的确切月份数?

c# - 我如何仅在 LINQ 查询中的日期时间中的日期上使用 group by

r - 如何在 R 中生成具有特定开始日期/时间的日期和时间序列

c# - 十进制值被识别为 DateTime,而不是从 DateTime.Parse 返回 false

python - 如何将一行拆分为多行并在数据框列上应用日期时间?

java - 如何以编程方式在 Java 中签署 jar 文件?

Java线程优先级没有影响