当每个日期以不同的方式保存时,如何根据月份更改日期和过滤数据?
How to change date and filter data due to the month when each date is saved in different way?
我有一组日期:
["Mon Dec 17 2018 16:36:04 GMT+0100 (Central European Standard Time)", 1545064594, 1545294858, "Thu Dec 20 2018 09:37:16 GMT+0100 (Central European Standard Time)", 1545306111, 1545310335, "Thu Dec 20 2018 12:46:48 GMT+0100 (Central European Standard Time)", 1545319619, 1545742063, 1545918029, 1546602411, 1546602745, 1546957949]
如您所见,每个日期的写法都不同....我想做一个 if 语句 - 如果值长度等于纪元长度,那么应该更改日期...到目前为止我写了此代码:
const Month = [];
for (let i = 0; i < database.length; i++) {
Month.push(database[i].date);
}
console.log(Month);
if (Month == 18){
console.log(Month.length)
var utcSeconds = Month
var d = new Date(0);
d.setUTCSeconds(utcSeconds);
console.log (d)
}
我得到了日期和数组,而且 Epoch 代码也可以工作......但我的问题是并非所有这些都是 Epoch 日期所以我很困惑如何通过它......以后我仍然会喜欢过滤数据并将其分离为 12 月/1 月作为 2 个单独的数组(我需要此数据用于仪表板)。我将不胜感激任何帮助。
数值似乎是自纪元以来的时间,以秒为单位,您可以使用如下方法将数组中的所有值转换为 Date
对象:
let arr = ["Mon Dec 17 2018 16:36:04 GMT+0100 (Central European Standard Time)", 1545064594, 1545294858, "Thu Dec 20 2018 09:37:16 GMT+0100 (Central European Standard Time)", 1545306111, 1545310335, "Thu Dec 20 2018 12:46:48 GMT+0100 (Central European Standard Time)", 1545319619, 1545742063, 1545918029, 1546602411, 1546602745, 1546957949];
arr = arr.map(v => {
if (!isNaN(v)) {
v *= 1000; // from seconds to milliseconds
}
return new Date(v);
})
console.log(arr.map(v => v.toString()));
我有一组日期:
["Mon Dec 17 2018 16:36:04 GMT+0100 (Central European Standard Time)", 1545064594, 1545294858, "Thu Dec 20 2018 09:37:16 GMT+0100 (Central European Standard Time)", 1545306111, 1545310335, "Thu Dec 20 2018 12:46:48 GMT+0100 (Central European Standard Time)", 1545319619, 1545742063, 1545918029, 1546602411, 1546602745, 1546957949]
如您所见,每个日期的写法都不同....我想做一个 if 语句 - 如果值长度等于纪元长度,那么应该更改日期...到目前为止我写了此代码:
const Month = [];
for (let i = 0; i < database.length; i++) {
Month.push(database[i].date);
}
console.log(Month);
if (Month == 18){
console.log(Month.length)
var utcSeconds = Month
var d = new Date(0);
d.setUTCSeconds(utcSeconds);
console.log (d)
}
我得到了日期和数组,而且 Epoch 代码也可以工作......但我的问题是并非所有这些都是 Epoch 日期所以我很困惑如何通过它......以后我仍然会喜欢过滤数据并将其分离为 12 月/1 月作为 2 个单独的数组(我需要此数据用于仪表板)。我将不胜感激任何帮助。
数值似乎是自纪元以来的时间,以秒为单位,您可以使用如下方法将数组中的所有值转换为 Date
对象:
let arr = ["Mon Dec 17 2018 16:36:04 GMT+0100 (Central European Standard Time)", 1545064594, 1545294858, "Thu Dec 20 2018 09:37:16 GMT+0100 (Central European Standard Time)", 1545306111, 1545310335, "Thu Dec 20 2018 12:46:48 GMT+0100 (Central European Standard Time)", 1545319619, 1545742063, 1545918029, 1546602411, 1546602745, 1546957949];
arr = arr.map(v => {
if (!isNaN(v)) {
v *= 1000; // from seconds to milliseconds
}
return new Date(v);
})
console.log(arr.map(v => v.toString()));