java - 使用 simpledateformat 进行日期解析

标签 java android parsing date format

我正在尝试解析以下日期:

 Wed Aug 27 13:08:45 +0000 2008 

(适用于 Twitter API 1.1)

我制作如下格式:

/**
 * Large twitter date format sample: "Wed Aug 27 13:08:45 +0000 2008"
 */
private static final String LARGE_TWITTER_DATE_FORMAT = "EEE MMM dd HH:mm:ss Z yyyy";

但是它说:

java.text.ParseException: Unparseable date: "Sun Dec 25 14:49:28 +0000 2011" (at offset 0)
     at java.text.DateFormat.parse(DateFormat.java:626)

我做错了什么?

谢谢

最佳答案

我认为这是语言环境问题。在我的机器上运行该代码毫无异常(exception)地给我预期的结果。

提示:ENGLISH 语言环境的解析效果很好

 String LARGE_TWITTER_DATE_FORMAT = "EEE MMM dd HH:mm:ss Z yyyy";
 String twiDate = "Wed Aug 27 13:08:45 +0000 2008";
 new SimpleDateFormat(LARGE_TWITTER_DATE_FORMAT, Locale.ENGLISH)
       .parse(twiDate).getHours());

针对 FRANCE locale 的解析会导致与您相同的错误

String LARGE_TWITTER_DATE_FORMAT = "EEE MMM dd HH:mm:ss Z yyyy";
String twiDate = "Wed Aug 27 13:08:45 +0000 2008";
System.out.println(new SimpleDateFormat(LARGE_TWITTER_DATE_FORMAT, Locale.FRANCE)
                .parse(twiDate).getHours());

关于java - 使用 simpledateformat 进行日期解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12462010/

相关文章:

linux - 在 bash 脚本中获取子字符串

c# - StreamReader.ReadLine() 从流的末尾开始

android - 在应用程序中打开 Excel 文件,无需安装 Excel

xml - 从维基百科页面获取 xml

java - 无法使用encodeURIComponent和java.net.decode解码russing字符串

java - Neo4j 在同一查询中删除/设置标签和属性

java - 如何将sharedPrefs.getString使用到Runnable中

Android loadUrl 无法加载站点

java - 我可以将日志写入网络中的另一台机器吗?

java - java中的随机标识符