gpt4 book ai didi

java - 将带时间的日期字符串转换为长日期

转载 作者:搜寻专家 更新时间:2023-11-01 01:44:03 24 4
gpt4 key购买 nike

我有一个带有日期的字符串 "10:00 AM 03/29/2011",我需要使用 Java 将其转换为 long,我不能使用 Date,因为它已被弃用而且它不是给我正确的时间..所以我在网上查看如何解决它但仍然没有运气。第一次使用java。

最佳答案

问题是您正在解析数据,然后无缘无故地乱搞它,忽略了 Date.getYear() 等记录的返回值。

你可能只是想要这样的东西:

private static Date parseDate(String text)
throws ParseException
{
SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm a MM/dd/yyyy",
Locale.US);
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
return dateFormat.parse(text);
}

如果您真的想要一个long,只需使用:

private static long parseDate(String text)
throws ParseException
{
SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm a MM/dd/yyyy",
Locale.US);
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
return dateFormat.parse(text).getTime();
}

请注意,如果无法将值解析给调用者,我将决定如何操作,这使得此代码更易于重用。 (你总是可以编写另一种方法来调用这个方法并吞下异常,如果你真的想要的话。)

一如既往,我强烈建议您使用 Joda Time用于 Java 中的日期/时间工作 - 它是比 java.util.Date/Calendar/etc 更简洁的 API。

关于java - 将带时间的日期字符串转换为长日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17305048/

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