[英]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();
在小提琴中,我試圖做到這一點。 也許這就是你想要的
這是一種方法:
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.