我想要两个功能:
"11/12/2011"
中,时间在字符串:"0200"
中。我想要一个简单的函数(如果可能),该函数在Java中采用两个参数(上面的日期和时间),将其转换为Java Date
对象中的11/12/2011 2:00 AM。 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实例上设置时区。]