【问题标题】:Get 24-hours format获取 24 小时格式
【发布时间】: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


【解决方案1】:

您可以使用 kk 来做到这一点

simpDate = new SimpleDateFormat("kk:mm:ss");

如果您使用 kk,您将获得类似 24:30 的结果,但如果您使用 HH,您可以获得类似 00:30 的结果。
或者简单地创建日历实例并获得 24 小时时间,

Calendar c = Calendar.getInstance();

int Hr24 = c.get(Calendar.HOUR_OF_DAY);
int Min = c.get(Calendar.MINUTE);

【讨论】:

  • 总是给我 24 。
  • 我很确定kk 会为您做到这一点。无论如何....检查新方法@JoJoRoid
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-15
相关资源
最近更新 更多