如何将硬编码日期转换为标准GMT格式

时间:2014-02-20 13:25:03

标签: javascript jquery

我需要将硬编码日期转换为标准GMT格式。我该怎么做? 我的日期采用以下格式: var myDate ='dd | mm | yyyy'; 日期中没有时间或日期描述。只有'dd | mm | yyyy'字符串。 有没有办法可以把它转换成GMT?

提前致谢。

2 个答案:

答案 0 :(得分:2)

a = '22/02/2014'.split('/')
d = new Date(a[2],parseInt(a[1], 10) - 1,a[0])
//Sat Feb 22 2014 00:00:00 GMT+0530 (India Standard Time)

现在您在d

中有一个javascript日期对象
utc = d.getUTCDate() + "/" + (d.getUTCMonth() + 1 ) + "/" + d.getUTCFullYear();
//"21/2/2014" for an accurate conversion to UTC time of day is a must.

如果您在印度,则Javascript Date对象将timeZoneOffset 330。因此,除非您的系统时间为Date,否则无法使用时区GMT保留javascript GMT对象。

因此,如果您想要一个Date对象进行计算,可以使用localTimezone创建一个,并简单地假设它是GMT

pseudoGMT = new Date( Date.parse(d) + d.getTimezoneOffset() * 60 * 1000);
//Fri Feb 21 2014 18:30:00 GMT+0530 (India Standard Time)

如果您能解释您的高级别要求,我们可以提供一些替代解决方案。

答案 1 :(得分:1)

使用正则表达式匹配来提取所需的数据:

var myDate = "21|01|2014";
var data = myDate.match(/(\d{2})\|(\d{2})\|(\d{4})/);
var date = new Date(data[3], data[2] - 1, data[1]);

请注意,月份为0索引,因此january = 0

有关正则表达式的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp

相关问题