2017-08-25 2 views
0

ich zwei Variablen in JavaScript wie haben:Javascript bekommen UTC aus Datums- und Zeitvariablen

Zeit: 02.00 Datum: 25-08-2017

und ich frage mich, ob ich setzen kann diese in ein Date() - Objekt und erhalte das UTC-Datum und die Zeit in Stunden/Minuten mit getUTCDay(), getUTCHours() und getUTCMinutes() und setze sie zurück in das Format, in dem ich sie bekommen habe.

Ich kann moment.js dafür laden, aber wenn ich nicht muss, wäre es nett, wenn ich es ohne tun könnte.

+0

Ist das eine lokale Zeit oder UTC-Zeit bekommen müssen? – Phil

+0

Das ist Ortszeit. –

Antwort

0

Konvertieren Sie Ihre Zeichenfolgen in eine ISO 8601-Zeichenfolge und verwenden Sie sie im Date-Konstruktor. Von dort aus können Sie alle Daten, Sie

let time = '02:00' 
 
let date = '25-08-2017' 
 

 
let iso8601Date = date.split('-').reverse().join('-') 
 

 
let dt = new Date(`${iso8601Date}T${time}`) // will be interpreted as local time 
 

 
const digitFormatter = new Intl.NumberFormat(undefined, {minimumIntegerDigits: 2}) 
 

 
console.info('Parsed date:', dt) 
 
console.info('UTC date in dd-mm-yyyy:', 
 
    `${digitFormatter.format(dt.getUTCDate())}-${(digitFormatter.format(dt.getUTCMonth() + 1))}-${dt.getUTCFullYear()}` 
 
) 
 
console.info('UTC time:', `${digitFormatter.format(dt.getUTCHours())}:${digitFormatter.format(dt.getUTCMinutes())}`)

+0

Das ist tatsächlich, was ich suche Ich denke, wie Sie ein echtes Date() -Objekt erneut erstellen. Ich brauche den digitFormatter oder gibt es noch einen anderen Weg? –

+0

Der Formatierer ist nur so, dass Sie zweistellige Zahlen unter 10 bekommen wie '08' – Phil

+0

OK, das ist großartig, ich muss sie als Zeitfelder posten, damit ich ohne leben kann, denke ich. –

Verwandte Themen