gpt4 book ai didi

java - 日期操作问题

转载 作者:行者123 更新时间:2023-12-01 15:08:47 24 4
gpt4 key购买 nike

我从 Oracle 数据库开始和结束日期获取 2 个时间戳。它们采用以下格式yyyy-MM-dd HH:mm:ss.SSS

现在我从文本文件中获取另一个时间戳进行比较。它是字符串格式。下面是我编写的用于提取所需信息的代码。

    DateFormat f = new SimpleDateFormat("EEE MMM dd HH:mm:ss zz yyyy");
Date date = f.parse("Tue Aug 23 20:00:03 PDT 2011");
System.out.println("---date----" + f.format(date));
String originalDate = f.format(date);
System.out.println("---originalDate----" + originalDate);

DateFormat f2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String dateParse = f2.format(date);
System.out.println("---dateParse----"+dateParse);

我得到的输出有点奇怪并且非常不一致。以下是示例 ---日期----2011 年太平洋夏令时间 8 月 23 日星期二 20:00:03 ---原始日期----2011 年 8 月 23 日星期二 20:00:03 PDT ---dateParse----2011-08-24 08:30:03.000

在上面的输出中,我对 ----dateparse--- 值感兴趣,因为我需要它进行比较。现在,如果您看到理想情况下的值有所不同,则两者应该是相同的值。

这里的问题是,如果输出随时区变化,那么我应该如何在代码中与从数据库获取的数据进行比较?

我只需要看看 --dateparse-- 是否位于我从数据库获取的日期范围之间。该代码是否可以独立于时区正常工作,或者这里存在一些问题。如果日期不同,那么我的比较可能会出错,或者上述 2 个输出的方法是否正确。

您能否告诉我如何解决此问题。

最佳答案

请引用类文档并使用构造函数:

http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

SimpleDateFormat(String pattern, Locale locale)

要检查您的区域设置,请使用以下代码:

Locale.getDefault()

这可能就是您得到这些结果的原因。

关于java - 日期操作问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12590128/

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