gpt4 book ai didi

java - 如何计算当前日期和字符串文本日期之间的小时数

转载 作者:行者123 更新时间:2023-12-02 09:26:07 24 4
gpt4 key购买 nike

我从服务中获取了一个字符串,2019 年 11 月 2 日下午 07:30,日期为美国中部时间

现在我需要知道当前时间和该日期之间还剩多少时间。

我正在使用以下代码,但这并没有给出准确的差异。

SimpleDateFormat ticketDateFormat = new SimpleDateFormat("MMM d yyyy hh:mm a");
Date parsedDate= null;
try {
parsedDate= ticketDateFormat.parse(dateTimeString);

DateFormat formatter = new SimpleDateFormat("MMM d yyyy hh:mm a");
TimeZone timeZone = TimeZone.getTimeZone("CST");
formatter.setTimeZone(timeZone);


parsedDate= ticketDateFormat.parse(formatter.format(parsedDate));


long totalTimeRemainingInMillis= Math.abs(currentDateTime.getTime()- (parsedDate.getTime()));
long diffInHours = TimeUnit.MILLISECONDS.toHours(totalTimeRemainingInMillis);



} catch (ParseException e) {
e.printStackTrace();
}

最佳答案

虽然您的问题不清楚您从哪里获取当前时间,但我猜测问题在于您使用 TimeZone 的方式。您正在格式化程序中设置时区,然后解析您所说的已经在 CST 中的日期。

以下是您可以执行相同操作然后比较结果的另一种方法:

LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("LLL d yyyy hh:mm a");
LocalDateTime parse = LocalDateTime.parse("Nov 2 2019 07:30 PM", fmt);
System.out.println(Duration.between(dateTime, parse).toHours());

关于java - 如何计算当前日期和字符串文本日期之间的小时数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58331215/

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