【问题标题】:How to format a timestamp in android如何在android中格式化时间戳
【发布时间】:2013-07-27 08:15:23
【问题描述】:


我是 android 新手,如何将 "2013-07-02T04:17:24Z" 格式化为 July 02, 2013 12:00 PM

提前致谢!

编辑: 这是我的代码。我的代码有什么问题吗:

SimpleDateFormat sdf1 = new SimpleDateFormat("MMMM dd, yyyy");
String formattedDate1 = sdf1.format("2013-07-02T04:17:24Z");

【问题讨论】:

  • 发帖前先google一下,可以用DateFormat
  • 我用谷歌搜索了它......并按照他们的例子但没有运气......这就是为什么我在这里要求获得一些关于如何在 android 中解析/格式化日期的帮助
  • 尝试sdf1.format(new Date()); 格式方法SimpleDateFormat 接受日期对象。请参考API DOC

标签: java android android-layout android-date


【解决方案1】:

同样使用SimpleDateFormat。它可以满足您的需求,并且文档中还提供了一个示例示例。试试下面的东西。您可能需要根据您的要求更改变量值 OLD_FORMATNEW_FORMAT。您可以在上面的链接中看到符号的含义。

final String OLD_FORMAT = "yyyy-MM-dd'T'HH:mm:ssZ";
final String NEW_FORMAT = "yyyy-MM-dd hh:mm a";

String oldDateString = "2013-07-02T04:17:24Z";
String newDateString;

SimpleDateFormat sdf = new SimpleDateFormat(OLD_FORMAT);
Date d = sdf.parse(oldDateString);
sdf.applyPattern(NEW_FORMAT);
newDateString = sdf.format(d);

我也从How can I change the date format in Java? 问题的答案中获得了帮助。您可能会看到更多链接。

【讨论】:

  • 出现错误W/System.err(12406): java.text.ParseException: Unparseable date: "2013-07-02T04:17:24Z" (at offset 19)
  • 正如我在答案中所说,代码为您提供了将一种格式解析为另一种格式的方法。您可能需要更改OLD_FORMAT,即您希望转换的日期和时间模式。使用我提供的链接 (developer.android.com/reference/java/text/SimpleDateFormat.html) 进一步检查输入日期格式的适当模式。有所有可用选项的完整列表,可用于解析日期格式。
猜你喜欢
  • 2011-01-10
  • 1970-01-01
  • 2012-10-23
  • 1970-01-01
  • 2019-02-17
  • 2012-06-24
  • 1970-01-01
相关资源
最近更新 更多