当前位置: 首页 > 面试题库 >

Twitter日期无法解析?

秋阳荣
2023-03-14
问题内容

我想将Twitter响应中的日期字符串转换为Date对象,但是我总是得到ParseException,并且看不到错误!

输入字符串:2010年12月23日星期四18:26:07 +0000

SimpleDateFormat 模式:

EEE MMM dd HH:mm:ss ZZZZZ yyyy

方法:

public static Date getTwitterDate(String date) {

SimpleDateFormat sf = new SimpleDateFormat(TWITTER);
sf.setLenient(true);
Date twitterDate = null;
try {
    twitterDate = sf.parse(date);
} catch (Exception e) {}
     return twitterDate;
}

我也尝试过此方法:http :
//friendpaste.com/2IaKdlT3Zat4ANwdAhxAmZ,但结果相同。

我在Mac OS X上使用Java 1.6。

干杯,

和我


问题答案:

您的格式字符串对我有用,请参阅:

public static Date getTwitterDate(String date) throws ParseException {

  final String TWITTER="EEE MMM dd HH:mm:ss ZZZZZ yyyy";
  SimpleDateFormat sf = new SimpleDateFormat(TWITTER);
  sf.setLenient(true);
  return sf.parse(date);
  }

public static void main (String[] args) throws java.lang.Exception
    {
      System.out.println(getTwitterDate("Thu Dec 3 18:26:07 +0000 2010"));          
    }

输出:

2010年12月3日星期五,格林尼治标准时间18:26:07

更新

罗兰·伊利格(Roland Illig)是对的:SimpleDateFormat与语言环境有关,因此只需使用显式的英语语言环境即可:
SimpleDateFormat sf = new SimpleDateFormat(TWITTER,Locale.ENGLISH);



 类似资料:
  • 问题内容: 我有一个字符串日期“ 31-Dec”和模式“ dd-MMM”。接下来的代码 产生异常 我做错什么了? 谢谢! 问题答案: 一个问题可能是您不是英语。试试这个: 这为我返回: 1970年12月31日星期四00:00:00欧洲中部时间 由于日期字符串中缺少年份,因此您会看到它会自动插入为年份。

  • 问题内容: 我正在尝试解析一个日期,但是奇怪的是我遇到了一个例外。 这是代码: 例外是: 我已经阅读了文档,我认为我的模式是正确的。所以我不明白… 问题答案: 这可能是因为你计算机上的默认语言环境不是英语。 你应该使用: 代替。

  • 问题内容: 我收到以下错误:“ java.text.ParseException:无法解析的日期:“ 2011年8月31日09:53:19””具有以下格式: 有人看到这个问题吗? 问题答案: 确保您使用正确的语言环境。(构造函数使用 系统默认的语言环境 ,它可能不是您要使用的 语言环境 。) 这在我的机器上工作正常: (例如,使用时会产生。)

  • 问题内容: 我目前正在从事一些简单的项目,并且在以下字符串中有日期: 并希望将此字符串转换为对象。我正在使用以下代码行来做到这一点。我搜索了站点,找到了解决方法: 但是我可能做错了,因为我总是会遇到异常: 这似乎是我正在使用的模式的问题,但尝试了不同的模式,但没有任何效果。 问题答案: 某些字段(例如,星期几字段和/或AM / PM标记)可能与您的默认字段不匹配。具有方法getErrorOffse

  • 问题内容: 我接收到来自Twitter的特定日期以特定格式发送的Twitter消息: 我想将这些日期存储在带有djangos DateTimeField字段的postgresql中的“带有时区的时间戳”字段中。但是,当我存储该字符串时,出现此错误: 我可以自动将twitter datetype转换为python datetime时间(在我的应用程序中的其他地方可以保存日期)。 问题答案: 编写这样

  • 问题内容: 在照顾了几个现有的帖子之后,我仍然无法使我的SimpleDateFormat解析器正常工作。这是代码: 我总是以ParseException结尾。这是调试消息的输出: 06-09 23:52:17.478:DEBUG / DEBUG(2436):java.text.ParseException:无法解析的日期:06-09 23:52:17.478:DEBUG / DEBUG(2436)