我想格式化从Dropbox API的元数据调用中获得的日期/时间。我已经阅读了有关格式化日期/时间的详细信息:Dropbox API Date format 但仍然不清楚。我使用JAVA并通过JSON检索元数据。我需要做的是
格式:星期四,2012年9月27日13:44:09 +0000 ----至---> 27/09/2012 13:44:09
我已经尝试过SimpleDateFormat,但它返回了我无法将字符串转换为日期时间格式的东西。提前谢谢。
答案 0 :(得分:4)
试试这个:
SimpleDateFormat df = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.US);
Date date = df.parse("Thu, 27 Sep 2012 13:44:09 +0000");
System.out.println(date);
如果要将日期字符串转换为Date
对象,可以使用SimpleDateFormat
。创建对象时,请指定格式代码,然后使用parse()
SimpleDateFormat
方法解析字符串。如果指定正确的格式代码,也可以解析其他类型。
确保在实例化SimpleDateFormat
时设置区域设置。如果您的VM默认语言环境是US,则无需语言环境即可正常运行。否则像CJK一样,您必须指定语言环境以防止解析错误。
有关更多详细信息,请参阅以下URL: http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
答案 1 :(得分:2)
应该是这样的:
(省略处理异常)
//Thu, 27 Sep 2012 13:44:09 +0000
SimpleDateFormat dfDb = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z");
Date dateDb = dfDb.parse(yourStringDateFromDb);
//27/09/2012 13:44:09
SimpleDateFormat toYours = new SimpleDateFormat("dd/mm/yyyy HH:mm:ss");
String yourString = toYours.format(dateDb);
答案 2 :(得分:0)
您应该使用RESTUtility#parseDate(String)来解析此值。
Dropbox API返回一个String,而不是Date。