我想格式化从 Dropbox API 的元数据调用中获得的日期/时间。我已经从参考资料中阅读了有关格式化日期/时间的详细信息:Dropbox API Date format 但仍然不清楚。我使用 JAVA 并通过 JSON 检索元数据。我需要做的是
格式:2012 年 9 月 27 日星期四 13:44:09 +0000 ----to---> 27/09/2012 13:44:09
我尝试过 SimpleDateFormat,但它返回给我的东西是无法将字符串转换为日期时间格式。先感谢您。
我想格式化从 Dropbox API 的元数据调用中获得的日期/时间。我已经从参考资料中阅读了有关格式化日期/时间的详细信息:Dropbox API Date format 但仍然不清楚。我使用 JAVA 并通过 JSON 检索元数据。我需要做的是
格式:2012 年 9 月 27 日星期四 13:44:09 +0000 ----to---> 27/09/2012 13:44:09
我尝试过 SimpleDateFormat,但它返回给我的东西是无法将字符串转换为日期时间格式。先感谢您。
试试这个:
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
应该是这样的:
(省略异常处理)
//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);
您应该使用 RESTUtility#parseDate(String) 来解析这个值。
Dropbox API 返回一个字符串,而不是日期。