将时间戳转换为日期并得到 HH:MM 格式
Convert timestamp to date and get HH:MM format
我从 DarkShy 天气 api 收到一个 JSON 对象,我想访问每个报告的时间戳以显示我将在其中显示温度的 Chart.JS 图表一天下来,现在我一直在将时间戳转换为 HH:DD:SS 格式。
这是我试过的
// Displays the wrong time according to https://www.epochconverter.com/
var timeofDay = new Date(daily[i].time)
time.push( timeofDay.toTimeString().split(' ')[0] )
// Gets rid off the time, tho It get the date correctly
var timeofDay = new Date(parseFloat(daily[i].time) * 1000)
time.push( timeofDay )
// Returns the wrong date and time
time.push(new Date(daily[i]))
下面是我如何遍历 JSON 文件
let time = []
let temperatureDaily = []
for(var i=0; i<daily.length; i++){
// Push the values into the arrays
var timeofDay = new Date(parseFloat(daily[i].time) * 1000)
time.push( timeofDay )
temperatureDaily.push( (parseFloat(daily[i].temperatureHigh) + parseFloat(daily[i].temperatureLow)) /2)
}
console.log(time);
如果您只对时间感兴趣,而且您似乎需要 UTC,请使用 UTC 方法来格式化时间。或者您可以使用 toISOString 和 trim 您不想要的位,例如
let timeValue = 1569304800;
let d = new Date(timeValue * 1000);
// Use toISOString
let hms = d.toISOString().substr(11,8);
console.log(hms);
// Manual format
function toHMS(date){
let z = n => ('0'+n).slice(-2);
return `${z(d.getUTCHours())}:${z(d.getUTCMinutes())}:${z(d.getUTCSeconds())}`
}
console.log(toHMS(d));
尝试moment.js
。
它提供了很多日期实用程序,格式化变得超级容易。
我从 DarkShy 天气 api 收到一个 JSON 对象,我想访问每个报告的时间戳以显示我将在其中显示温度的 Chart.JS 图表一天下来,现在我一直在将时间戳转换为 HH:DD:SS 格式。
这是我试过的
// Displays the wrong time according to https://www.epochconverter.com/
var timeofDay = new Date(daily[i].time)
time.push( timeofDay.toTimeString().split(' ')[0] )
// Gets rid off the time, tho It get the date correctly
var timeofDay = new Date(parseFloat(daily[i].time) * 1000)
time.push( timeofDay )
// Returns the wrong date and time
time.push(new Date(daily[i]))
下面是我如何遍历 JSON 文件
let time = []
let temperatureDaily = []
for(var i=0; i<daily.length; i++){
// Push the values into the arrays
var timeofDay = new Date(parseFloat(daily[i].time) * 1000)
time.push( timeofDay )
temperatureDaily.push( (parseFloat(daily[i].temperatureHigh) + parseFloat(daily[i].temperatureLow)) /2)
}
console.log(time);
如果您只对时间感兴趣,而且您似乎需要 UTC,请使用 UTC 方法来格式化时间。或者您可以使用 toISOString 和 trim 您不想要的位,例如
let timeValue = 1569304800;
let d = new Date(timeValue * 1000);
// Use toISOString
let hms = d.toISOString().substr(11,8);
console.log(hms);
// Manual format
function toHMS(date){
let z = n => ('0'+n).slice(-2);
return `${z(d.getUTCHours())}:${z(d.getUTCMinutes())}:${z(d.getUTCSeconds())}`
}
console.log(toHMS(d));
尝试moment.js
。
它提供了很多日期实用程序,格式化变得超级容易。