我想要两个功能:

  • 说我的日期在字符串"11/12/2011"中,时间在字符串:"0200"中。我想要一个简单的函数(如果可能),该函数在Java中采用两个参数(上面的日期和时间),将其转换为Java Date对象中的11/12/2011 2:00 AM。
  • 说我有一个Java Date对象作为唯一从中返回军事时间的参数(例如11/12/2011 2:00 AM)(例如“0200”)。

  • 是否有一些Java库或完成上述任务的最佳方法是什么?还是java Date中内置了某些功能,可以很容易地将军事时间的某些内容恢复为Java date使用的正常时间?

    最佳答案

    new SimpleDateFormat("MM/dd/yyyy HHmm").parse("11/12/2011" + " " + "0200");
    new SimpleDateFormat("MM/dd/yyyy HHmm").format(new Date());
    new SimpleDateFormat("HHmm").format(new Date());
    

    (假设美国军方在日期上仍将月份放在第一位)。

    [编辑:您还需要担心您的时区-解析时,通常最简单的方法就是简单地附加它。例如:
    new SimpleDateFormat("MM/dd/yyyy HHmm Z").parse("11/12/2011" + " " + "0200" + " PST");
    

    (也许军方总是使用UTC?我不知道...)。对于格式化,您可以使用setTimezone()在SDF实例上设置时区。]

    07-24 17:13
    查看更多