Javascript Date():如何将本地日期转换为GMT

Javascript Date(): How to convert the local date to GMT

本文关键字:日期 转换 GMT Date Javascript      更新时间:2023-11-30

我正在发送日期为零的服务器时间对象,发送日期为:1970年1月1日星期四01:02:01 GMT+0200如何将其转换为GMT+0000?我需要告诉服务器一些任务持续时间,所以我希望它只是01:02:01作为持续时间。但发送日期是本地的,服务器将其理解为03:02:01!如何将GMT指数清零?

感谢

从JavaScriptDate对象中获取GMT时间很简单-

Date.protype.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。

要从输入中获得所需内容,正则表达式非常有用。注意事项:

  • 假设持续时间永远不会超过23小时59分59秒。如果是,则会中断

var test = 'Thu Jan 01 1970 01:02:01 GMT+0200';
var durationMatcher = /'d'd:'d'd:'d'd/; 
console.log(test.match(durationMatcher)); 

如果可以的话,可以考虑使用一些对您有用的值,例如毫秒数。

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