从现有的Date对象java(午夜角情况)减去6小时

我将使用Calendar api。 我主要担心的是

  Date birthDate = (...say Apr 20th 0300hrs) Calendar cal = Calendar.getInstance(); cal.setTime(birthDate); cal.add(Calendar.HOUR, -6); Date newDate = cal.getTime(); 

newDate将于2100年4月19日(晚上9点)?

没有。

运行以下代码后:

 Date birthDate = (...say Apr 20th 0300hrs) Calendar cal = Calendar.getInstance(); cal.setTime(birthDate); cal.add(Calendar.HOUR, -6); 

你保证在4月20日0300hrs之前将cal设置为6小时,但不是设置为’2009年4月19日’。

Calendar的.add方法中的第二个参数确实是delta或更改,所以是的,这将减去6个小时。

在这里阅读更多:在此输入链接描述