【发布时间】:2018-01-06 11:02:42
【问题描述】:
我正在将timestamp 转换为Solar Hijri,并且工作如下:
private String getDate(long timestamp) {
Date date = new Date(timestamp * 1000L);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/HH:mm", Locale.UK);
String[] paths = sdf.format(date).split("/");
CalendarTool ct = new CalendarTool(Integer.parseInt(paths[0]),
Integer.parseInt(paths[1]),
Integer.parseInt(paths[2]));
return ct.getIranianDate().trim() + " - " + paths[3].trim();
}
问题: 我的时基是 24 小时,但是当我有 12:45 或 24:13 时,总是显示 00:45 和 00:13,但我需要 12:45 和 00: 13.
我对 12 和 00 有疑问。
例如我的timestamp 是:1515186060
【问题讨论】:
-
@噪声发生器。抱歉 00:13 。
-
这种格式在我看来很奇怪:
"yyyy/MM/dd/HH:mm"你通常使用 ISO 标准"yyyy-MM-ddTHH:mm"。或其变体之一(有/无秒和/或时区)。 -
顺便考虑扔掉长期过时且臭名昭著的麻烦
SimpleDateFormat和朋友,并将ThreeTenABP添加到您的Android项目中,以便使用java.time,现代Java日期和时间API .使用起来感觉好多了。 -
我无法复制。你的
sdf给了我 12:45 和 00:13,正如你所说的那样。
标签: android android-calendar android-date date