gpt4 book ai didi

java - 将字符串解析为日期和时间但未得到适当的解析

转载 作者:行者123 更新时间:2023-12-02 00:24:47 25 4
gpt4 key购买 nike

我附上了代码。在此代码中,我获取一个字符串,它是来自平面文本文件的日期。它由 AM/PM(12 小时格式)组成。当我解析它时,它解析得不好,不是以 24 小时格式解析。我想要当前时间和文件中的字符串的黑白时差。由于 AM/PM,它不会转换为 24 小时格式。所以无论是下午还是上午,它都显示相同的时差。如果您有任何有效的建议,请告诉我。我真的很感谢你们。

公开课选角{

/**
* @param args
*/
static FileReader fw;
public static void main(String[] args) {
// TODO Auto-generated method stub

try{
fw = new FileReader("E://796F_log.txt");
BufferedReader pw =new BufferedReader(fw);
String last_Line_From_File="" ;

for (String message = pw.readLine(); message != null ; message = pw.readLine()) {
last_Line_From_File = message;
}

String[] array_Of_Data = last_Line_From_File.split("\\s") ;
String time = array_Of_Data[0]+" "+array_Of_Data[1]+" "+array_Of_Data[2] ;

System.out.println(time);
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss a");
Calendar cal = Calendar.getInstance();
String current_time = dateFormat.format(cal.getTime());

Date d1 = dateFormat.parse(time);
Date d2 = dateFormat.parse(current_time);



long total_time = d2.getTime()-d1.getTime();
total_time /= 1000 ;

System.out.println("current time "+d2.getHours()+":"+d2.getMinutes()+":"+d2.getSeconds()+"\n"+d1.getHours()+":"+d1.getMinutes()+":"+d1.getSeconds());
if(total_time <= 500)
{
System.out.println("working "+total_time);
}
else
System.out.println("nt working "+total_time);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("did the smart thing or dumb thing");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
try {
fw.close();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("we did attempt closing");

}

}
}

}

最佳答案

问题是你的格式:

"MM/dd/yyyy HH:mm:ss a"

这里的HH表示24小时值。所以预计晚上 7 点是“19”。在同一格式字符串中同时包含“HH”和“a”(AM/PM 指示符)几乎总是错误的。

你可能想要其中一个

"MM/dd/yyyy hh:mm:ss a"

"MM/dd/yyyy h:mm:ss a"

取决于您是否收到“07:00:00 AM”或“7:00:00 AM”之类的内容。

如果您正在进行大量的日期/时间工作,我建议使用 Joda Time顺便说一下,而不是日期/日历

关于java - 将字符串解析为日期和时间但未得到适当的解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10241223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com