通过javascript从时间戳获取时间和日期

时间:2018-01-24 12:52:31

标签: javascript

我有从Firebase检索到的时间戳,它是从离子移动应用程序生成的并存储在Firebase中。我想在我的网站上打印它。

这是我来自firebase的时间戳 timeStamp:1516791866433;

假设我已经检索了上述数据,我该如何分开日期和时间?

3 个答案:

答案 0 :(得分:0)

new Date(timeStamp)将返回日期对象=> 2018年1月24日星期三06:04:26 GMT-0500(EST)

分隔日期和时间,使用日期方法: https://www.w3schools.com/jsref/jsref_obj_date.asp

表达日期有很多不同的标准,所以一旦找到返回所需格式的标准,就可以这样使用它:

const date = new Date(1516791866433);
const ISOstring = date.toISOString();
const localeString = date.toLocaleString();
const timeStringOnly = date.toTimeString();

console.log(localeString)
console.log(timeStringOnly)

答案 1 :(得分:0)

只需将时间戳传递给Date对象即可。

var datetime = new Date(1516791866433)
var date = datetime.toDateString()
var time = datetime.toTimeString()
console.log(date)
console.log(time)

另一种方法:

var date = new Date(1516791866433);
var year = date.getFullYear();
var month = ("0" + (date.getMonth() + 1)).substr(-2);
var day = ("0" + date.getDate()).substr(-2);
var hour = ("0" + date.getHours()).substr(-2);
var minutes = ("0" + date.getMinutes()).substr(-2);
var seconds = ("0" + date.getSeconds()).substr(-2);

var d = year + "-" + month + "-" + day + " ";
var t = hour + ":" + minutes + ":" + seconds;

console.log(d)
console.log(t)

答案 2 :(得分:0)

这是unix时间,您需要将其转换为人类时间。

// multiplied by 1000 so that the argument is in milliseconds, not seconds.
var date = new Date(1516791866433*1000);

var hours = date.getHours();
var minutes = "0" + date.getMinutes();
var seconds = "0" + date.getSeconds();

// Will display time in 04:30:23 format
var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
    
console.log(formattedTime);

这会将unix时间转换为人类时间。