我有从Firebase检索到的时间戳,它是从离子移动应用程序生成的并存储在Firebase中。我想在我的网站上打印它。
这是我来自firebase的时间戳 timeStamp:1516791866433;
假设我已经检索了上述数据,我该如何分开日期和时间?
答案 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时间转换为人类时间。