当前位置: 首页 > 知识库问答 >
问题:

如何正确格式化java时间

袁河
2023-03-14
public class FormatTime {

    public static void main(String[] args) throws Exception {
        FormatTime ft = new FormatTime();
        System.out.println(ft.evaluate("12/01/2014 05:30:15 PM","MM/dd/yyyy hh:mm:ss aa", "yyyy-MM-dd HH:mm:ss"));  
    }

    public String evaluate(String time,String iFormat ,String f) throws ParseException {
        SimpleDateFormat format = new SimpleDateFormat(f);
        SimpleDateFormat inFormat = new SimpleDateFormat(iFormat);

        Date date=inFormat.parse(time);
        String fechaNueva = format.format(date);
        return fechaNueva;
    }

}

这个程序的输出与预期的一样,它给出2014-12-01 17:30:15
但是当我在iFormat中将hh替换为hh(与outputformat相同)时,它给出的输出为12Out格式2014-12-01 05:30:15
如果我将两者都转换为小写,也会发生同样的情况。为什么会出现这种类型的不一致?

共有1个答案

顾英发
2023-03-14

我不认为这前后矛盾。当您使用hh计算时间时,它将忽略aa位,因为它将输入计算为24小时时间,而aa位没有意义。但是,当您使用hh运行它时,它将把05:30:15pm读为“Half five in the下午”,而写入它将给出2014-12-01 17:30:15。将05:30:15pm读作24小时的时间,就会读作“早上五点半”,从而将pm比特丢弃。

当使用hh同时使用这两种格式时,您将同时使用12小时格式进行读写操作。要使at有意义,还需要将aa添加到输出格式中。

我希望这能以一种有意义的方式回答您的问题:)

 类似资料:
  • 问题内容: 我有一些格式不一致的现有代码-有时两个空格用于缩进,有时四个空格,以此类推。代码本身是正确的,并且经过了严格的测试,但是格式却很糟糕。 在线上是否有一个地方,我可以简单地粘贴一段Python代码并自动为我缩进/设置格式?或者,是否可以执行类似的操作,并用格式化的版本覆盖每个文件? 问题答案: 编辑:如今,我建议使用autopep8,因为它不仅可以纠正缩进问题,而且(根据您的判断)可以使

  • 我正在创建一个Lua库来帮助处理发送和接收DNS请求,目前正在阅读这个(DNS协议RFC),但我不知道如何正确格式化请求。例如,我是否必须指定消息的长度?我该怎么做? 我了解,从我的Wireshark检查,我应该也包括选项之后。我还在响应中看到一个;这是否意味着我只需在添加值之前,将请求名称终止为零? 我特别谈论的部分是RFC的4.1.3。 一些注意事项:我使用个人服务器对此进行了测试,并在查询部

  • 我试图在调用LocalTime时使用getter在中获取它。目前的情况是: 我想让它返回中的时间,因为现在它是。我想弄乱日期时间格式化程序,但我搞不清楚。这是我的:

  • 问题内容: 我想使用H:MM:SS之类的格式以秒为单位格式化持续时间。Java中的当前实用程序旨在格式化时间而不是持续时间。 问题答案: 如果你使用的Java版本早于8 …,则可以使用Joda Time和PeriodFormatter。如果你确实有持续时间(例如,经过的时间量,没有参考日历系统),那么你可能应该大部分时间都在使用-然后可以致电(指定要反映25小时是否变为25小时) 1天1小时与否,

  • 问题内容: 我有一个JSON格式的以下文件: 之前: 使用以下代码处理数据后: 我将JSON保存到另一个文件中: 问题是,保存文件后,格式损坏了: 我的问题是-如何在PowerShell中保留源格式? 问题答案: 由于您的原始json包含一个只有一个元素的数组,因此PowerShell会将其压缩为仅一个元素。如果在输出中希望再次将其作为数组,请使用rokumaru的好答案。 但是,PowerShe