javascript 时间处理问题

/// 使用本机获取时间
var a = new Date();

/// 通过简易的时间串初始化
var b = new Date('2015-10-29');

/// 使用带有时间的串初始化
var c = new Date('2015-10-29 00:00:00');

/// 使用ISO标准串格式化
var d = new Date('2015-10-29T00:00:00');

/// 使用具体参数初始化
var e = new Date(2015,9,29,0,0,0);

/// 使用默认时间参数初始化
var f = new Date(2015,9,29);

console.log('a=', a.getTime(), a.toISOString(), a.toLocaleString(), a.toTimeString());
console.log('b=', b.getTime(), b.toISOString(), b.toLocaleString(), b.toTimeString());
console.log('c=', c.getTime(), c.toISOString(), c.toLocaleString(), c.toTimeString());
console.log('d=', d.getTime(), d.toISOString(), d.toLocaleString(), d.toTimeString());
console.log('e=', e.getTime(), e.toISOString(), e.toLocaleString(), e.toTimeString());
console.log('f=', f.getTime(), f.toISOString(), f.toLocaleString(), f.toTimeString());

 

输出结果为:

a= 1446114992991 2015-10-29T10:36:32.991Z Thu Oct 29 2015 18:36:32 GMT+0800 (中国标准时间) 18:36:32 GMT+0800 (中国标准时间)
b= 1446076800000 2015-10-29T00:00:00.000Z Thu Oct 29 2015 08:00:00 GMT+0800 (中国标准时间) 08:00:00 GMT+0800 (中国标准时间)
c= 1446048000000 2015-10-28T16:00:00.000Z Thu Oct 29 2015 00:00:00 GMT+0800 (中国标准时间) 00:00:00 GMT+0800 (中国标准时间)
d= 1446076800000 2015-10-29T00:00:00.000Z Thu Oct 29 2015 08:00:00 GMT+0800 (中国标准时间) 08:00:00 GMT+0800 (中国标准时间)
e= 1446048000000 2015-10-28T16:00:00.000Z Thu Oct 29 2015 00:00:00 GMT+0800 (中国标准时间) 00:00:00 GMT+0800 (中国标准时间)
f= 1446048000000 2015-10-28T16:00:00.000Z Thu Oct 29 2015 00:00:00 GMT+0800 (中国标准时间) 00:00:00 GMT+0800 (中国标准时间)

 

可以得出的结论为:

a: 获得的是现在本初子午线的1970年到现在的毫秒数

b:获得的是本初子午线2015-10-29 0点的毫秒数 但是Date().toString() 打印的时候会格式化成带有时区(东八区)的8点 这个方式等同于 a方式

c:获得带有时区(机器当前时区)对应本初子午线-8的时间戳 注意这种方式和 a b存在8小时时差

d:获取iso标准的本初子午线时间的时间戳,等同于 a, b 不同与c

e:等同于c,和本初子午线差距8小时.

f:等同于c 和本初子午线差距8小时

 

最总结论:

在编码的时候如果需要根据时间戳做时间对比,按照以上规范区分使用

a b d三种方式获得的是不带时区的时间戳

c e f三种方式是根据本机所在时区对应的时间戳

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值