我发送的服务器时间对象为零日期,发送日期为: Thu Jan 01 1970 01:02:01 GMT + 0200 如何将其转换为GMT + 0000?我需要告诉服务器一些任务持续时间,所以我希望它只是持续时间01:02:01。但发送日期是本地的,服务器将其理解为03:02:01!如何将GMT指数归零?
由于
答案 0 :(得分:2)
从JavaScript Date对象中获取GMT时间非常简单 -
Date.prototype.toUTCString() toUTCString()方法使用UTC时区将日期转换为字符串。
例如:
var test = new Date('Thu Jan 01 1970 01:02:01 GMT+0200').toUTCString();
console.log(test);
请注意,这会正确输出Wed, 31 Dec 1969 23:02:01 GMT
,虽然它不是您想要的,但是将提供的日期转换为GMT。
要从输入中获得所需内容,正则表达式非常有用。警告:
var test = 'Thu Jan 01 1970 01:02:01 GMT+0200';
var durationMatcher = /\d\d:\d\d:\d\d/;
console.log(test.match(durationMatcher));
如果可以,请考虑使用一个数字(例如,毫秒数)处理一些适用于您的值。
答案 1 :(得分:0)
function convertToGmt(pdate)
{
var newDate = new Date(pdate);
return (newDate.getUTCHours()<10?"0"+newDate.getUTCHours():newDate.getUTCHours())+":"+(newDate.getUTCMinutes()<10?"0"+newDate.getUTCMinutes():newDate.getUTCMinutes())+":"+(newDate.getUTCSeconds()<10?"0"+newDate.getUTCSeconds():newDate.getUTCSeconds());
}
现在使用此function
并通过传递日期来调用它。
请注意getUTCHours()
以UTC格式返回正确的小时。
工作Fiddle