我以下列格式从服务器获得GST时间。
2015-06-09 09:07 PM
我的要求是使用Javascript将此时间转换为本地浏览器时间。
帮我解决这个问题。
答案 0 :(得分: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();
那应该给你一个当地时间。