北京时间

收集整理一些天气与时间日期相关的信息

unix时间转换北京时间(unix时间转换北京时间怎么设置)

当前日期:2025-01-11 22:43:17

js怎么把unix毫秒数转化为具体的Date啊

js中把 unix时间戳转换为 Date很简单,可以有两种方式:

1、新建一个日期对象并把时间戳作为参数传进去就可以了:

vartimestamp=1371466996.385926;

vardate=newDate(timestamp*1000);//js中是以毫秒为单位要乘以1000

2、对于已经存在的日期对象,调用 setTime方法设置时间戳:

vardate=newDate();

vartimestamp=1371466996.385926;

date.setTime(timestamp*1000);//js中是以毫秒为单位要乘以1000

对于格林威治时间和本地时间, js提供了不同方法(toGMTString(), toUTCString(), toLocaleString())输出,在需要格式化为字符串的时候调用不同方法就可以了。

双系统windows时间不准

出现这种情况的原因是由于两种系统在设定时间时均以主板CMOS中的时间为依据,却又使用不同的时间计算标准。具体来说:

Linux和苹果操作系统(UNIX变种)以当前主板CMOS时间做为国际协调时间(UTC),再根据系统设置的时区来最终确定当前系统时间。比如时区设置为UTC+8(北京时间)而当前CMOS时间为02:00,那么系统会将这两个时间相加,显示在桌面的当前系统时间为10:00。而Windows操作系统则直接把CMOS时间认定为当前显示时间,不根据时区转换。

* Windows把系统硬件时间当作本地时间(Local Time),即操作系统中显示的时间跟CMOS中显示的时间是一样的。

* Linux/Unix/Mac把CMOS时间当作UTC,操作系统中显示的时间是硬件时间经过换算得来的,比如说北京时间是UTC+8,则系统中显示时间是CMOS时间+8。

这样,当电脑中同时有多系统时,就出现了问题。假如你的Linux和Windows中设置的时区都为北京时间东八区,而你在Linux中把当前系统时间更改为10:00,则此时硬件中存储的实际是UTC时间02:00。这时你重启进入Windows后,你会发现windows系统中显示的时间是 02:00,比Linux中慢了八个小时。同理,你在Windows中更改或用网络同步了系统时间后,再到Linux中去看,系统就会快了8小时。那怎么来解决这种冲突呢?一种就是让Windows把CMOS时间当作UTC,与Linux/Unix/Mac保持一致。另一种就是让Linux/Unix/Mac把系统时间当作本地时间,与Windows保持一致。

一、下面先介绍修改windows的设置,(以Windows7 64-bit为例):

使用组合键Win+R打开运行窗口,输入regedit回车,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation”,右键新建New> DWORD(32-bit) Value,命名为RealTimeIsUniversal,键值为1

相关内容