我从 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);
我得到的输出有点奇怪,而且非常不一致。以下是示例 ---date----Tue Aug 23 20:00:03 PDT 2011 ---originalDate----Tue Aug 23 20:00:03 PDT 2011 ---dateParse----2011-08 -24 08:30:03.000
在上面的输出中,我对 ----dateparse--- 值感兴趣,因为我需要这个值进行比较。现在,如果您看到理想情况下的值是不同的,两者都应该是相同的值。
这里的问题是,如果输出随时区而变化,那么我应该如何根据从数据库中获取的数据在代码中进行比较?
我只需要查看 --dateparse-- 是否位于我从 db 获得的日期范围之间。此代码是否会独立于时区正常工作,或者这里有一些问题。如果日期不同,那么我的比较可能会出错,或者上面 2 个输出的正确方法。
你能告诉我如何解决这个问题。