我想在JavaScript中将3个月添加到今天的日期。这是我的代码:
var now = new Date();
now.setHours(0, 0, 0, 0);;
now.setMinutes(0);
var plus3mo = new Date();
plus3mo.setMonth((now.getMonth() + 3));
plus3mo.setHours(0, 0, 0, 0);
plus3mo.setMinutes(0);
var utc_timestamp_today = Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0);
var utc_timestamp_3moFromNow = Date.UTC(plus3mo.getFullYear(), plus3mo.getMonth(), plus3mo.getDate(), 0, 0, 0, 0);
我想在今天的日期前加上3个月,并确定小时数。就是这样做的,但要注意的是,我需要将小时数设置为恰好为00小时或凌晨12点。使用我的代码,我得到的结果很奇怪。
这是我在调试和使用此UTC时间戳转换器站点时查看的结果。
1441929600000 --> 09/10/2015 20:00:00 ("Today's Date")
1449792000000 --> 12/10/2015 19:00:00 ("3 Months From Now")
如您所见,我要添加3个月,但时间集中在晚上8点和晚上7点。为什么会这样呢?
在JS中使用日期处理总是会给您一个相对于浏览器本地时间的日期。所以用
var now = new Date();
now.setHours(0, 0, 0, 0);
now.setMinutes(0);
将为您提供一个日期,now
该日期为本地时间的午夜,但相对于UTC的本地时区偏移。(我认为当前当前为+4小时,现在变为+5小时),冬季开始实行夏令时。
为了获得每个日期的午夜UTC,我建议:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句