Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查字符串格式的日期时间是否等于中午_Javascript_Typescript_Angular7 - Fatal编程技术网

Javascript 检查字符串格式的日期时间是否等于中午

Javascript 检查字符串格式的日期时间是否等于中午,javascript,typescript,angular7,Javascript,Typescript,Angular7,我有一个对象数组,其中每个对象都有一个日期时间作为一个值: [ {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"} ] 我只想返回所有带有时间的日期12:00:00您可以使用JavaScript对所有日期对象进行迭代。对于每个对象,首先将日期字符串

我有一个对象数组,其中每个对象都有一个日期时间作为一个值:

[
  {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"}
]
我只想返回所有带有时间的日期
12:00:00

您可以使用JavaScript对所有日期对象进行迭代。对于每个对象,首先将日期字符串转换为,然后检查小时、分钟和秒是否适合中午

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);

你可以试试这个功能。我只是比较小时,如果你想比较分和秒,然后再添加一个级别的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('不带过滤器==',arr)
设filteredar=[];
for(设i=0;i如果(小时)那么那些
Date
s还是字符串?我猜是字符串?如果你把它插入
newdate()
,你就可以调用
getHours()
getMinutes()
并分别与
12
0
进行比较。
.filter()
是您的朋友。此外,您的输入不是您所期望的。因为它是数组中的单个对象,而不是多个对象,所以只会使用最后一个dt键。可能要将其更改为单独的对象。如果它是对象数组且日期是字符串,
var value=[{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'}可以使用筛选方法。
value.filter((val)=>val.dt.includes('12:00:00')
数组无论如何都是无效的JS,请解决您的问题。或者
让noonDates=data.filter(obj=>/12:00:00/.dt。