将字符串日期转换为 UTC [英] Convert string date to utc

查看:70
本文介绍了将字符串日期转换为 UTC的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个字符串日期和 utcoffset

var date = '06/30/2016';var utcOffset = -7.0;

我需要一个 Javascript 函数来使用 utcoffset 将字符串日期转换为 utc

我尝试了以下方法,它仅适用于 chrome,但不适用于 IE/11/edge 和 FF.

 var date = '06/30/2016';var utcOffset = -7.0;var startDate = moment(date).toDate();var offsetDate = moment(startDate + offset).toDate();

有没有其他方法可以在所有浏览器中实现这一点.

我也尝试了下面的方法,但它不起作用

var date = '06/30/2016';var utcOffset = -7.0;var d = 时刻(日期).toDate();d.setTime(d.getTime() + offset*60*1000);

解决方案

请尝试以下功能:

function dateToUTC(date, offset) {var tzDate = moment(date).utcOffset(offset);var utcDate = new Date(date+tzDate.format('ZZ'));if(isNaN(utcDate.getTime())){返回时刻(日期+ tzDate.format('Z'))}返回时刻(utcDate);}

用法:

var date = '06/30/2016';var utcOffset = -7.0;dateToUTC(date, utcOffset);//2016 年 6 月 30 日星期四 07:00:00 GMT+0000

演示: https://jsfiddle.net/3v9cd6uf/

I have a string date and utcoffset

var date = '06/30/2016';
var utcOffset = -7.0;

I need a Javascript function to convert string date to utc using utcoffset

I tried the following way it works only on chrome but doesn't work in IE/11/edge and FF.

 var date = '06/30/2016';
 var utcOffset = -7.0;
 var startDate = moment(date).toDate();        
 var offsetDate = moment(startDate + offset).toDate();

Is there any other way I could achieve this across all the browsers.

I also tried the below approach but it doesn't work

var date = '06/30/2016';
 var utcOffset = -7.0;
 var d = moment(date).toDate();  
d.setTime( d.getTime() + offset*60*1000 );

解决方案

Please try the following function:

function dateToUTC(date, offset) {
    var tzDate = moment(date).utcOffset(offset);
    var utcDate = new Date(date+tzDate.format('ZZ'));
    if(isNaN( utcDate.getTime() ) ) {
        return moment(date+tzDate.format('Z'))
    }
    return moment(utcDate);
}

Usage:

var date = '06/30/2016';
var utcOffset = -7.0;

dateToUTC(date, utcOffset); // Thu Jun 30 2016 07:00:00 GMT+0000

Demo: https://jsfiddle.net/3v9cd6uf/

这篇关于将字符串日期转换为 UTC的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆