检查字符串格式的日期时间是否等于中午
Check if string-formatted date time is equal to noon
我有一组对象,其中每个对象都有一个日期时间作为一个值:
[
{dt: "2019-11-29 12:00:00"},
{dt: "2019-11-29 3:00:00"},
{dt: "2019-11-29 6:00:00"},
{dt: "2019-11-30 12:00:00"},
{dt: "2019-11-30 6:00:00"}
]
我只想 return 所有时间为 12:00:00
的日期。
您可以使用 JavaScript 的 array filter function to iterate over all date objects. For each object, first convert the date string to an internal date representation 然后检查小时、分钟和秒是否适合中午。
const array = [
{dt: "2019-11-29 12:00:00"},
{dt: "2019-11-29 3:00:00"},
{dt: "2019-11-29 6:00:00"},
{dt: "2019-11-30 12:00:00"},
{dt: "2019-11-30 6:00:00"}
];
const result = array.filter((stringDate) => {
const rawDate = new Date(stringDate.dt);
return rawDate.getHours() === 12 && rawDate.getMinutes() === 0 && rawDate.getSeconds() === 0;
});
console.info(result);
你可以试试这个function.I我只是比较小时,如果你想比较分钟和秒然后再添加一个级别的 if else
const arr = [{dt: '2019-11-29 12:00:00'},{dt: '2019-11-29 3:0$.00:00'},{dt: '2019-11-30 12:00:00'},{dt: '2019-11-30 6:00:00'}];
console.log('without filter ===',arr)
let filteredArr = [];
for(let i = 0; i < arr.length; i++){
let dt = new Date(arr[i].dt);
console.log(dt);
let hour = dt.getHours()
let min = dt.getMinutes();
let sec = dt.getSeconds();
if(hour <= 12){
filteredArr.push(arr[i]);
}
}
console.log('filtered arr ==',filteredArr)
我有一组对象,其中每个对象都有一个日期时间作为一个值:
[
{dt: "2019-11-29 12:00:00"},
{dt: "2019-11-29 3:00:00"},
{dt: "2019-11-29 6:00:00"},
{dt: "2019-11-30 12:00:00"},
{dt: "2019-11-30 6:00:00"}
]
我只想 return 所有时间为 12:00:00
的日期。
您可以使用 JavaScript 的 array filter function to iterate over all date objects. For each object, first convert the date string to an internal date representation 然后检查小时、分钟和秒是否适合中午。
const array = [
{dt: "2019-11-29 12:00:00"},
{dt: "2019-11-29 3:00:00"},
{dt: "2019-11-29 6:00:00"},
{dt: "2019-11-30 12:00:00"},
{dt: "2019-11-30 6:00:00"}
];
const result = array.filter((stringDate) => {
const rawDate = new Date(stringDate.dt);
return rawDate.getHours() === 12 && rawDate.getMinutes() === 0 && rawDate.getSeconds() === 0;
});
console.info(result);
你可以试试这个function.I我只是比较小时,如果你想比较分钟和秒然后再添加一个级别的 if else
const arr = [{dt: '2019-11-29 12:00:00'},{dt: '2019-11-29 3:0$.00:00'},{dt: '2019-11-30 12:00:00'},{dt: '2019-11-30 6:00:00'}];
console.log('without filter ===',arr)
let filteredArr = [];
for(let i = 0; i < arr.length; i++){
let dt = new Date(arr[i].dt);
console.log(dt);
let hour = dt.getHours()
let min = dt.getMinutes();
let sec = dt.getSeconds();
if(hour <= 12){
filteredArr.push(arr[i]);
}
}
console.log('filtered arr ==',filteredArr)