I have get utc datetime from database.I want to display this utc datetime by user timezone name.So how can i solved this problems using javascript ?If you have any idea please share with me this problems.
Asked
Active
Viewed 1,037 times
1
-
not clear what issue is since javascript `Date()` will already do that automatically – charlietfl Jan 13 '16 at 05:09
-
Check out moment-timezone http://momentjs.com/timezone/. Date() is easier if you want it to just be the user's timezone, but moment will let you specify the timezone by name. – Jason Kennaly Jan 13 '16 at 05:09
-
http://stackoverflow.com/questions/10087819/convert-date-to-another-timezone-in-javascript – Shishir Kushwaha Jan 13 '16 at 05:21
-
Ok jason Kennaly and Shishir KUshwaha .I have try this function.There is some issue like that moment(...).tz is not a function..I also download 'moment-timezone-all-years.min.js ' – Sundar Jan 13 '16 at 05:30
2 Answers
1
TRY Moment Timezone
var newYork = moment.tz("2014-06-01 12:00", "America/New_York");
var losAngeles = newYork.clone().tz("America/Los_Angeles");
var london = newYork.clone().tz("Europe/London");
newYork.format(); // 2014-06-01T12:00:00-04:00
losAngeles.format(); // 2014-06-01T09:00:00-07:00
london.format(); // 2014-06-01T17:00:00+01:00
DEMO:
var newYork = moment.tz("2014-06-01 12:00", "America/New_York");
var losAngeles = newYork.clone().tz("America/Los_Angeles");
var london = newYork.clone().tz("Europe/London");
$('#newYork').html(newYork.format());
$('#losAngeles').html(losAngeles.format());
$('#london').html(london.format());
<script src="http://momentjs.com/downloads/moment-with-locales.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://momentjs.com/downloads/moment-timezone-with-data.min.js"></script>
<p><strong>newYork:</strong> <span id="newYork"></span></p>
<p><strong>losAngeles:</strong> <span id="losAngeles"></span></p>
<p><strong>london:</strong> <span id="london"></span></p>

vsogrimen
- 456
- 2
- 7
0
Use this to convert to local time.
var date = new Date('6/29/2011 4:52:48 PM UTC');
date.toString() // "Wed Jun 29 2011 09:52:48 GMT-0700 (PDT)"
Other wise use timezone offset to convert to local time:
function convertUTCDateToLocalDate(date) {
var newDate = new Date(date.getTime()+date.getTimezoneOffset()*60*1000);
var offset = date.getTimezoneOffset() / 60;
var hours = date.getHours();
newDate.setHours(hours - offset);
return newDate;
}
based on use convert
convertUTCDateToLocalDate(date).toString();

Thangadurai
- 524
- 1
- 9
- 20
-
Thanks for your sweet answer but I want to convert utc datetime by timezoneName like 'Asia/Jakarta'.User have TimezoneName and utc dateTime only.I have convert datetime by user TimeZone name only not getTimezoneOffset. – Sundar Jan 13 '16 at 05:23
-
-
If you are going yo moment.js means function will be like this... function toTimeZone(time, zone) { var format = 'YYYY/MM/DD HH:mm:ss ZZ'; return moment(time, format).tz(zone).format(format); } – Thangadurai Jan 13 '16 at 05:34
-
ok i have try this function like that function toTimeZone(time, zone) { var format = 'MM/dd/yyyyHH:mm:ss ZZ'; return moment(time, format).tz(zone).format(format); } var test = toTimeZone("2013-11-18 11:55", "Europe/Busingen"); – Sundar Jan 13 '16 at 05:40