当前位置: 首页 > 面试题库 >

SimpleDateFormat返回24小时日期:如何获取12小时日期?

东郭海阳
2023-03-14
问题内容

我想要以毫秒为单位的当前时间,然后以12小时格式存储它,但是通过这段代码,我得到了24小时格式时间。

long timeInMillis = System.currentTimeMillis();
Calendar cal1 = Calendar.getInstance();
cal1.setTimeInMillis(timeInMillis);
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy HH:mm:ss a");
dateforrow = dateFormat.format(cal1.getTime());

有人可以建议修改以获得期望的结果吗?


问题答案:

更改HHhh作为

long timeInMillis = System.currentTimeMillis();
Calendar cal1 = Calendar.getInstance();
cal1.setTimeInMillis(timeInMillis);
SimpleDateFormat dateFormat = new SimpleDateFormat(
                                "dd/MM/yyyy hh:mm:ss a");
dateforrow = dateFormat.format(cal1.getTime());

请注意dd/mm/yyyy-将为您提供 分钟 而不是 月份



 类似资料:
  • 问题内容: 我在将json文件中的日期转换为时间戳时遇到问题。当小时= 12时,返回的时间戳不正确。 Java版本1.8.0_171 使用下面的代码片段,我希望输出为 2017-07-19 07:43:42.0 2017-07-18 08:43:42.0 2017-07-19 09:43:42.0 相反,我得到 2017-07-19 07:43:42.0 2017-07-18 20:43:42.0

  • 我在将json文件中的日期转换为时间戳时遇到问题。当小时=12时,返回的时间戳不正确。 Java版本1.8.0\u 171 使用下面的代码片段,我希望输出是 2017-07-19 07:43:42.0 2017-07-18 08:43:42.0 2017-07-19 09:43:42.0 相反,我得到了 2017-07-19 07:43:42.0 2017-07-18 20:43:42.0 201

  • 问题内容: 我有一个将a解析为: 当我解析这个: 结果将是,当使用时: 8月29日 2011 00:44:00 当然,这应该是: 8月29日 2011 12:44:00 当我解析这个: 然后结果如预期的那样: 8月29日 2011 13:44:00 我怎样才能解决这个问题? 问题答案: 使用代替小时模式:

  • 问题内容: 我在获取24小时制的当前时间时遇到问题。据我所知,“ HH”应代表24小时制的当前小时,但是由于某种原因,“ HH”根本没有被解释。这就是为什么以下代码行输出类似 “ HH:50:06 Uhr,Sep. Sep.”的原因。 : 有什么想法我做错了吗?但是,使用“ hh”有效,这将以12小时制输出时间,这不是我想要的。 帮助表示赞赏! 问题答案: 您可以使用SimpleDateForma

  • 我正面临一个前所未有的奇怪问题。我有一个以毫秒为单位的日期,希望将其显示为可读的日期。这是我的代码: 如你所见,我只想创建一个显示时间跨度的字符串。当我调试代码时,日期对象包含正确的值,而

  • 我正在使用下面的代码来解析文本到日期数据类型并获得各自的长值。 在上面的例子中,我得到了getTime()值:,即。但是我期望作为其24小时格式。 当我使用相同的代码与文本日期:,我得到1:48下午这是正确的。 我使用了错误的日期格式吗?