如何在 Javascript 中将 Epoch 中的日期转换为“Ymd H:i:s”?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/10535782/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-24 01:44:36  来源:igfitidea点击:

How can I convert a date in Epoch to "Y-m-d H:i:s" in Javascript?

javascriptdatetransformationepochdate-conversion

提问by James Cazzetta

How can I convert following date in epoch:

如何在纪元中转换以下日期:

1293683278

1293683278

to following readable date:

到以下可读日期:

2010-06-23 09:57:58

2010-06-23 09:57:58

using Javascript?

使用Javascript?

Thanks!

谢谢!

回答by deadrunk

var timestamp = 1293683278;
var date = new Date(timestamp * 1000);

var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();

console.log(year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds);

See js Date docs for further details

有关更多详细信息,请参阅 js 日期文档

Another way:

其它的办法:

var timestamp = 1293683278;
var date = new Date(timestamp * 1000);
var iso = date.toISOString().match(/(\d{4}\-\d{2}\-\d{2})T(\d{2}:\d{2}:\d{2})/)

console.log(iso[1] + ' ' + iso[2]);

回答by timrwood

You can use moment.jsfor this.

您可以为此使用moment.js

moment.unix(1293683278).format('YYYY-MM-DD HH:mm:ss');

回答by Nabi K.A.Z.

Code:

代码:

var timestamp = 1293683278;
var d = new Date(timestamp * 1000);

console.log(
  d.getFullYear() + "-" +
  ("00" + (d.getMonth() + 1)).slice(-2) + "-" +
  ("00" + d.getDate()).slice(-2) + " " +
  ("00" + d.getHours()).slice(-2) + ":" +
  ("00" + d.getMinutes()).slice(-2) + ":" +
  ("00" + d.getSeconds()).slice(-2)
);

Format: YYYY-MM-DD HH:II:SS

格式: YYYY-MM-DD HH:II:SS

Result: 2010-12-30 07:57:58

结果: 2010-12-30 07:57:58

Demo: https://jsfiddle.net/NabiKAZ/9ycovfxt/

演示:https: //jsfiddle.net/NabiKAZ/9ycovfxt/

Note: For current time, just use: var d = new Date();instead.

注意:对于当前时间,只需使用:var d = new Date();代替。

回答by antelove

/* Get timestamp */
var timestamp = 1293683278;
document.querySelector("#timestamp").innerHTML = "Timestamp: " + timestamp;

/* Get milisecond from timestamp */
var milisecond = 1293683278 * 1000;    
document.querySelector("#milisecond").innerHTML = "Milisecond: " + milisecond;
  
/* Separate milisecond */
var datetime = new Date(milisecond);

var year    = datetime.getFullYear();
var month   = datetime.getMonth() + 1; // (0-11)
var date    = datetime.getDate();
var hour    = datetime.getHours();
var minute  = datetime.getMinutes();
var second  = datetime.getSeconds();

document.querySelector("#datetime").innerHTML = "Datetime: " + 
  year + "-" + addZero(month) + "-" + addZero(date) + " " + 
  addZero(hour) + ":" + addZero(minute) + ":" + addZero(second);      

// Add 0 if argument < 10
function addZero(i) {
  if (i < 10) {
    i = "0" + i
  };  
  return i;
}
<p id="timestamp"><p>
<p id="milisecond"><p>
<p id="datetime"><p>