JavaScript scripts Convert local time to other time zones _ time and date

Source: Internet
Author: User
Tags time zones local time time and date
But what if you want to show different areas of time —--for example, if your part is in another country, what do you do if you want to see "home" time instead of local time?
To do this, a variety of time calculations are required to convert local time to destination time. This article explains how to do these calculations.
First step:
The first step in the business is to get local time. In JavaScript, this can undoubtedly be done easily by initializing a data () object.
Create Date object for the current location
D = new Date ();
By calling the GetTime () method of the data () object, you can display the number of milliseconds between January 1, 1970 and that time.
Convert to msec since 1 1970
LocalTime = D.gettime ();
Step Two:
Next, the local time offset value is identified by the getTimezoneOffset () method of the data () object. By default, this method displays the time zone offset value results in minutes, so the value is converted to milliseconds in earlier calculations.
Obtain local UTC offset and convert to msec
Localoffset = D.gettimezoneoffset () * 60000;
Note that the negative return value of the getTimezoneOffset () method indicates that local time precedes global Standard Time (UTC), whereas a positive return value indicates that local time is after global Standard Time (UTC).
Note: In case you want to know how I got the multiplier of 60000, remember that 1000 milliseconds equals one second, and one minute equals 60 seconds. Therefore, the Minutes are converted to milliseconds, with 60 times 1000 equals 60000.
Third Step
The current international Standard Time (UTC) is added with the local time zone offset value.
Obtain UTC time in msec
UTC = LocalTime + localoffset;
Here, the variable UTC contains the current international Standard Time (UTC). However, this time is represented by the number of milliseconds that are contained on January 1, 1970. Let it be said for the time being, because there are some calculations to be done.
Fourth Step
After the International Standard Time (UTC) is obtained, the International Standard Time (UTC) Hour offset value for the target city is obtained, which is converted to milliseconds, plus international Standard Time (UTC).
Obtain and add destination ' s UTC time offset
For example, Bombay
Which is UTC + 5.5 hours
offset = 5.5;
Bombay = UTC + (3600000*offset);
Note: In case you want to know how I got the multiplier of 3600000, remember that 1000 milliseconds equals one second, and one hour equals 3,600 seconds. So, converting hours to milliseconds, 3600 times 1000 equals 3600000.
At this point, the variable Bombay contains local time in Mumbai, India. This local time is represented by the number of milliseconds that are contained in the January 1, 1970 to date. Obviously, this is not very reasonable, so we have to do some calculations.
Fifth Step
By initializing a new data () object and invoking the Tolocalstring () method of the object, we convert the time value computed in the previous step into a date/time string that you can read.
Convert msec value to date string
nd = new Date (Bombay);
Document.writeln ("Bombay time is" + nd.tolocalestring () + "<br>");
So the conversion is done!
Summarize
After understanding the above steps, let's take a look at the script (List a), which builds a compact, custom function Calctime () to perform all the calculations and return a time value.
List A
<script language= "JavaScript" >
function to calculate local time
In a different city
Given the city ' s UTC offset
function Calctime (city, offset) {
Create Date object for the current location
D = new Date ();
Convert to msec
Add local time zone offset
Get UTC time in msec
UTC = D.gettime () + (D.gettimezoneoffset () * 60000);
Create new Date object for different city
Using supplied offset
nd = New Date (UTC + (3600000*offset));
Return time as a string
Return "" The "" "" "" "" + City + "is" + nd.tolocalestring ();
}
Get Bombay Time
Alert (calctime (' Bombay ', ' +5.5 '));
Get Singapore Time
Alert (calctime (' Singapore ', ' +8 '));
Get London Time
Alert (calctime (' London ', ' +1 '));
</script>
<body>
</body>
Here, the function calctime () accepts a city name and its international Standard Time (UTC) offset value (in hours). It then executes all the computations described above and returns a string containing the local time of the city.
Here are some samples of the output from List A.
Mumbai local time August 1, 2005, Monday 4:43 P.M. 51 seconds
Singapore local time is August 1, 2005, Monday 7:13 P.M. 51 seconds
London local time August 1, 2005, Monday 12:13 P.M. 51 seconds
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.