Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中使用日期_Java_Date_Calendar_Gregorian Calendar - Fatal编程技术网

在Java中使用日期

在Java中使用日期,java,date,calendar,gregorian-calendar,Java,Date,Calendar,Gregorian Calendar,我的Java程序中有各种日期实例。和人一起工作很痛苦,但这是必须的 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).g

我的Java程序中有各种日期实例。和人一起工作很痛苦,但这是必须的

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的时间,并将其转换为格林尼治标准时间

我知道今天;将显示自1970年1月1日00:00:00 GMT以来的毫秒数,但我不确定在没有时间的情况下如何表示


这将便于日期之间的比较。谢谢。

你所要做的就是将长值乘以1天的长值,然后从日期的长值中减去

如果你有2014年12月10日14:10:29的星期三,那么如果你有

Date today = new Date(); // Wed Dec 10 14:10:29 EST 2014
long timeDiff = today.getTime() % 24 * 60 * 60 * 1000;
today = new Date(today.getTime - timeDiff);
新的today对象将在删除当天时间的情况下创建


要将其转换为格林尼治标准时间,您同样可以为长时间创建新日期。这显然是一种过时的方法。最好的方法是使用日历。

尝试使用日期格式化程序

SimpleDateFormat df= new SimpleDateFormat("HH:MM:ss");
df.format(date)

您不能执行日期a=新的GregorianCalendar。。。因为日期不是GregorianCalendar的超类型。而且,日历月是以0为基础的,所以0=一月,1=二月,…,11=十二月。以0开头的整数文本(如01、02)被解释为八进制,这不是您想要的。@Jesper Gregorianalendar似乎可以很好地处理我当前使用的计算,以及DatesOh wait,我看到你在GregorianCalendar对象上调用getTime,它确实返回了一个日期。关于八进制数:试试09,你会发现它不会编译。