Java 这些时间我应该使用哪种十进制格式?

Java 这些时间我应该使用哪种十进制格式?,java,date,format,Java,Date,Format,我有一系列的时间从一个列中的网站上下来。时间的格式如下:10401149与我的代码一起工作。然而,有些时间被格式化为945或656(军事时间),这弄乱了我的代码我应该如何格式化它谢谢 一个简单的方法就是在parts字符串中添加一个前导0。例如: java.text.DateFormat df = new java.text.SimpleDateFormat("hhmm"); java.util.Date date1 = df.parse(parts[12]); java.util.Date da

我有一系列的时间从一个列中的网站上下来。时间的格式如下:10401149与我的代码一起工作。然而,有些时间被格式化为945或656(军事时间),这弄乱了我的代码我应该如何格式化它谢谢

一个简单的方法就是在parts字符串中添加一个前导0。例如:

java.text.DateFormat df = new java.text.SimpleDateFormat("hhmm");
java.util.Date date1 = df.parse(parts[12]);
java.util.Date date2 = df.parse(parts[13]);
        long diff = (date2.getTime() - date1.getTime());
        int timeinminutes = (int) (diff/(1000*60));
如果你试图阅读军事时间而不是12小时制,你需要将你的模式修改为“HHmm”。“HH”表示24小时,“HH”表示12小时。您将在中找到完整的列表。

我将这样做(创建两个新变量来保存两个日期的时间)。另外,由于您使用的是军用时间,所以需要使用大写字母HH,它告诉您的日期格式使用24小时制

if(parts[12].length == 3)
    parts[12] = "0"+parts[12];

不太确定你在问什么。。。你应该格式化它,但是你需要格式化它。如果输入的时间只有3位数,只需预先输入一个0,这样它就可以与您的其他时间相匹配?如何预先输入一个0?我正在从一个网站收到数据,但它仍然不起作用。。。对于《泰晤士报》1100和1215,它将《泰晤士报》解释为11:00:00和00:15:00,并给出了差异,即-645I更新了我的答案。记住,在你用来修正问题的人的答案上做标记,以结束这个问题。记住,我在原始评论中用文字回答了这个问题,所以至少给我一点信任;-)
java.text.DateFormat df = new java.text.SimpleDateFormat("HHmm");

// Create 2 new variables to hold the date parts (times)
String dp1 = (parts[12].length == 3) ? "0" + parts[12] : parts[12]; 
String dp2 = (parts[13].length == 3) ? "0" + parts[13] : parts[13];

java.util.Date date1 = df.parse(dp1);
java.util.Date date2 = df.parse(dp2);
long diff = (date2.getTime() - date1.getTime());
int timeinminutes = (int) (diff/(1000*60));