【发布时间】:2023-03-03 07:29:29
【问题描述】:
我的Java 程序中有各种Date 实例。使用 是一种痛苦,但它是必需的。
Date today = new Date(); // Wed Dec 10 14:10:29 EST 2014
Date a = new GregorianCalendar(2014, 11, 10).getTime();
Date b = new GregorianCalendar(2015, 01, 10).getTime();
Date c = new GregorianCalendar(2015, 02, 10).getTime();
Date d = new GregorianCalendar(2015, 03, 10).getTime(); //Fri April 10 00:00:00 EDT 2015
Date e = new GregorianCalendar(2015, 11 ,10).getTime();
我需要弄清楚如何缩短每个时间 (14:10:29) 并将它们转换为 GMT 时间。
我知道today.getTime(); 将是自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数,但我不确定如何在没有时间的情况下表示它。
这将使日期之间的比较更容易。谢谢。
【问题讨论】:
-
你不能做
Date a = new GregorianCalendar(...),因为Date不是GregorianCalendar的超类型。 -
另外,
Calendar月份是从 0 开始的,因此 0 = 一月,1 = 二月,...,11 = 十二月。而以 0 开头的整数文字,例如01、02被解释为八进制,这不是你想要的。 -
@Jesper GregorianCalendar 似乎与我目前使用的计算工作正常,除了日期
-
哦,等等,我看到你在
GregorianCalendar对象上调用getTime(),它确实返回了Date。 -
关于八进制数:试试
09,你会发现它不会编译。
标签: java date calendar gregorian-calendar