簡體   English   中英

將格式化的Javascript時間/日期轉換為通用時間戳

[英]Convert formatted Javascript time/date to Universal Time Stamp

我需要將日期和時間轉換為UTC /通用時間戳,並且不確定如何轉換(我在EST中工作)。 我需要使用以下格式:YYYY-MM-DD HH:mm:ss,我已經使用以下代碼段進行了構建:

var now = new Date();
var year = "" + now.getFullYear();
var month = "" + (now.getMonth() + 1); 

if (month.length == 1) {
    month = "0" + month; 
}
day = "" + now.getDate(); 
if (day.length == 1) { 
    day = "0" + day; 
}
hour = "" + now.getHours(); 
if (hour.length == 1) { 
    hour = "0" + hour; 
}
minute = "" + now.getMinutes();
if (minute.length == 1) { 
    minute = "0" + minute; 
}
second = "" + now.getSeconds(); 
if (second.length == 1) { 
    second = "0" + second; 
}
var timeStamp = year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;

這將返回類似“ 2017-05-19 16:23:19”的信息,如果可能的話,我們如何將其轉換為UTC? 謝謝你的幫助。

在代碼中首先創建一個javascript date對象,這是調用

new Date(year, month[, date[, hours[, minutes[, seconds[, milliseconds]]]]]);

然后

var isoDate = new Date('yourdatehere').toISOString();

所以對你來說

var date = new Date(year, month, day, hour, minute, second, 0);
var isoDate = date.toISOString();

在小提琴中,我試圖做到這一點。 也許這就是你想要的

https://jsfiddle.net/pvu6ctsd/

這是一種方法:

 var timestamp = "2017-05-19 16:23:19"; //substitute by your timestamp variable var date = new Date(timestamp.replace(' ', 'T') + 'Z'); var strUDate = date.toISOString(); console.log(strUDate); 

當您使用Javascript new Date()創建日期時,您的對象會存儲創建UTC之前或之后的分鍾數。 您可以隨時使用getTimezoneOffset()方法查看此內容

如果要將UTC時間作為字符串,則只能使用一種方法。

const date = new Date();
date.toUTCString();
// Fri, 19 May 2017 21:07:27 GMT

如果您希望使用首選的字符串格式,則必須以與以前類似的方式手動構建字符串。 只需將您的方法替換為UTC方法即可。

const date = new Date();

const year = "" + date.getUTCDate();
let month = "" + (date.getUTCMonth() + 1); // we add a 1 because month is 0 based
if (month.length == 1) {
  month = "0" + month; 
}
let day = "" + date.getUTCDate(); 
if (day.length == 1) { 
  day = "0" + day; 
}
let hour = "" + date.getUTCHours(); 
if (hour.length == 1) { 
  hour = "0" + hour; 
}
let minute = "" + date.getUTCMinutes();
if (minute.length == 1) { 
  minute = "0" + minute; 
}
let second = "" + date.getUTCSeconds(); 
if (second.length == 1) { 
  second = "0" + second; 

const timeStamp = year + "-" + month + "-" + day + " " + hour + ":" +  minute + ":" + second;

如果你想短手

const d = new Date();
const dateString = `${d.getUTCFullYear()}-${('0' + d.getUTCMonth()).slice(-2)}-${('0' + d.getUTCDate()).slice(-2)} ${('0' + d.getUTCHours()).slice(-2)}:${('0' + d.getUTCMinutes()).slice(-2)}:${('0' + d.getUTCSeconds()).slice(-2)}`;
// 2017-04-19 23:39:28

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM