2016-06-30 27 views
0

ich eine Zeichenfolge Datum und UTCOFFSET habenConvert String Datum utc

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

Ich brauche eine Javascript-Funktion Zeichenfolge Datum utc zu konvertieren mit UTCOFFSET

ich die folgende Art und Weise versucht, es nur auf Chrom funktioniert, aber funktioniert nicht in IE/11/Edge und FF.

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

Gibt es eine andere Möglichkeit, die ich über alle Browser erreichen konnte.

ich auch versucht, die unten Ansatz, aber es nicht

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

Antwort

1

Bitte versuchen Sie die folgende Funktion:

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); 
} 

Verbrauch:

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/

0

Versuchen Sie, sollte es funktioniert arbeiten. Es funktioniert gut für mich auf allen Browsern.

var d =new Date(modifieddate); 
       var _userOffset =d.getTimezoneOffset()*60000; 
       d = new Date(d.getTime()+_userOffset); 

Sie können Ihren eigenen Offset-Wert eingeben, anstatt zu berechnen. Lassen Sie mich wissen, ob, dass Sie :)

half
+0

dies nicht funktioniert für mich. Ich habe bereits die gleiche Logik hinzugefügt, dass es nicht funktioniert – Shashi