Detailed explanation of JS time zone time conversion

小云云
Release: 2018-03-21 16:56:23
Original
4537 people have browsed it


The page server time is the East Eighth District time. The page JS function needs to compare the server time and the user's local time. In order to be compatible with time around the world, the user's local time needs to be converted to the East Eighth District time. . This article mainly shares with you the detailed explanation of JS time zone time conversion, hoping to help everyone.

Basic Concept

Greenwich Time

The local time on the Greenwich meridian, or the zone time in the zero time zone (central time zone) is called Greenwich Time, also It's called world time. (I won’t go into more detailed concepts, we don’t need them here.) For example, China is in the East Eighth District, and Beijing time is (GMT+08:00)

Get the time difference between local and Greenwich time:new Date().getTimezoneOffset(), the unit is minutes.

Known Greenwich Mean Time, convert to the correct local time

Local time = Greenwich Mean Time - Time difference

Known local time, convert to the corresponding Greenwich Mean Time Government time:

Greenwich Mean Time = local time + time difference

Known local time, convert to other time zones

Because the difference between time intervals is in hours of. So after calculating the time in 0 time zone, just subtract or add the corresponding hours (East N zone is +N hours, West N zone is -N hours). In order to facilitate calculation, the East N zone is recorded as a positive number, and the West N zone is recorded as a negative number, that is: target time zone time = local time + time difference + time zone interval

Example: Convert local time to East Eighth District time

var timezone = 8; //目标时区时间,东八区var offset_GMT = new Date().getTimezoneOffset(); // 本地时间和格林威治的时间差,单位为分钟var nowDate = new Date().getTime(); // 本地时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数var targetDate = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000); console.log("东2区现在是:" + targetDate);
Copy after login
).getTimezoneOffset(); // 本地时间和格林威治的时间差,单位为分钟var nowDate = new Date().getTime(); // 本地时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数var targetDate = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000); console.log("东2区现在是:" + targetDate);
Copy after login

Related recommendations:

[Reprint] Issues related to php time zone time anomalies

##Javascript world time zone time display code_time date

PHP converts the GMT+8 string of the database to the user's local time zone

The above is the detailed content of Detailed explanation of JS time zone time conversion. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!