我正在使用Open Weather Map API在React中创建天气应用,并且您知道,API为我们提供了5天/ 3小时天气预报的数据。此外,由于API默认情况下使用GMT Unix时间戳格式,因此我决定将其格式化为“ MM-DD-YYYY”,以便轻松处理日期。但是问题是,当我尝试将moment.js中的“ MM-DD-YYYY”进一步转换为LT格式时,我丢失了日期中的时间日期,并且默认情况下所有时间均为12:00 AM。是真的,如果我们尝试将原始GMT Unix时间戳格式转换为“ MM-DD-YYYY”,然后再将“ MM-DD-YYYY”转换为“ LT”,我们将浪费与GMT Unix时间戳相同的时间吗? >
newlist = list.split(',')
答案 0 :(得分:0)
我想你混在一起了。这里。您不应使用时间字符串进行实际计算,而应更改日期的格式,而应保留实际的矩对象以进行进一步的计算。这样,您始终拥有正确的时间和日期。
答案 1 :(得分:0)
我认为您在已格式化的日期进行格式化。您应该保留一下矩对象而不是格式化的日期。
您应该仅在渲染时格式化日期。通过时,我们传递moment
对象。
示例
let parsed = moment(new Date())
let format1 = parsed.format('MM-DD-YYYY')
let format2 = parsed.format('LT')
console.log(format1) // 09-20-2019
console.log(format2) // 3:43 PM
希望有帮助!
答案 2 :(得分:0)
我认为问题是由于这个原因
date: moment(new Date(item.dt_txt)).format("MM-DD-YYYY")
如上转换日期时,它会剥夺时间并获得简单的日期。
应该是这个
date: moment(new Date(item.dt_txt)).format("MM-DD-YYYY, h:mm:ss a")