从现有日期对象中减去 6 小时 java(午夜极端情况)
Subtract 6 hours from an existing Date object java (midnight corner case)
我将为此使用 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
会是 4 月 19 日 2100 时(晚上 9 点)吗?
是的。
参考 calendar.add
Calendar 的 .add 方法中的第二个参数确实是增量或变化,所以是的,这会减去 6 小时。
在此处阅读更多内容:
enter link description here
没有
在运行之后的代码如下:
Date birthDate = (...say Apr 20th 0300hrs)
Calendar cal = Calendar.getInstance();
cal.setTime(birthDate);
cal.add(Calendar.HOUR, -6);
您可以保证将校准设置为 'Apr 20th 0300hrs' 之前的六个小时,但不能保证它设置为 'Apr 19th 2100hrs'。
我将为此使用 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
会是 4 月 19 日 2100 时(晚上 9 点)吗?
是的。
参考 calendar.add
Calendar 的 .add 方法中的第二个参数确实是增量或变化,所以是的,这会减去 6 小时。
在此处阅读更多内容: enter link description here
没有
在运行之后的代码如下:
Date birthDate = (...say Apr 20th 0300hrs)
Calendar cal = Calendar.getInstance();
cal.setTime(birthDate);
cal.add(Calendar.HOUR, -6);
您可以保证将校准设置为 'Apr 20th 0300hrs' 之前的六个小时,但不能保证它设置为 'Apr 19th 2100hrs'。