2015-06-09 44 views
0

我以下列格式从服务器获得GST时间。将GST时间转换为本地浏览器时间

2015-06-09 09:07 PM 

我的要求是将此时间转换为使用Javascript的本地浏览器时间。

帮我解决这个问题。

+1

你有没有尝试过什么?与我们分享。 – Bikku

回答

0

你应该总是使用ISO 8601的日期,因为这是为Javascript Date类默认: http://en.wikipedia.org/wiki/ISO_8601

如果您不能更改服务器代码,你将不得不手动解析它,你可以试试这:

var dateTime = '2015-06-09 09:07 PM'; 

var splittedTime = dateTime.split(' '); 
var date = splittedTime[0]; 
var time = splittedTime[1] + ' ' + splittedTime[2]; 
var hours = Number(time.match(/^(\d+)/)[1]); 
var minutes = Number(time.match(/:(\d+)/)[1]); 
var AMPM = time.match(/\s(.*)$/)[1]; 
if (AMPM == 'PM' && hours < 12) hours = hours + 12; 
if (AMPM == 'AM' && hours == 12) hours = hours - 12; 
var sHours = hours.toString(); 
var sMinutes = minutes.toString(); 
if (hours < 10) sHours = '0' + sHours; 
if (minutes < 10) sMinutes = '0' + sMinutes; 
// GST is GMT +4 
time = new Date(date + 'T' + sHours + ':' + sMinutes + '+0400'); 
// Should be in local time 
time.toString(); 

这应该给你一个在当地时间的时间。

相关问题