4

我想格式化从 Dropbox API 的元数据调用中获得的日期/时间。我已经从参考资料中阅读了有关格式化日期/时间的详细信息:Dropbox API Date format 但仍然不清楚。我使用 JAVA 并通过 JSON 检索元数据。我需要做的是

格式:2012 年 9 月 27 日星期四 13:44:09 +0000 ----to---> 27/09/2012 13:44:09

我尝试过 SimpleDateFormat,但它返回给我的东西是无法将字符串转换为日期时间格式。先感谢您。

4

3 回答 3

5

试试这个:

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 默认语言环境是美国,则它在没有语言环境的情况下也能正常工作。否则,像 CJK 一样,您必须指定语言环境以防止解析错误。

有关更多详细信息,请参阅以下 URL: http ://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

于 2012-11-28T10:29:43.840 回答
3

应该是这样的:

(省略异常处理)

                                            //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);

请参阅:java.text.SimpleDateFormat

于 2012-11-28T10:30:42.637 回答
0

您应该使用 RESTUtility#parseDate(String) 来解析这个值。

Dropbox API 返回一个字符串,而不是日期。

于 2012-11-28T13:01:00.407 回答