如何检查字符串是否为有效日期格式(格式应为:YYYY-MM-DD HH:mm:ss)

how to check the string is valid date format or not (format should be in : YYYY-MM-DD HH:mm:ss)

如何检查字符串是否为有效的日期格式? 格式应为:YYYY-MM-DD HH:mm:ss

console.log(moment(moment("FLAT 10").format('YYYY-MM-DD HH:mm:ss'),'YYYY-MM-DD HH:mm:ss').isValid())
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous"></script>

上面的代码应该 return false 但它给我的输出是 TRUE

我也试过这段代码,但仍然失败...

如何解决这个问题?如何使用 moment

比较字符串和日期

js fiddle link: jsfiddle.net/8Lwrvcep

您的响应将始终为真,因为此时的参数是有效日期,您只是对其应用一种格式并检查它是否有效

要在不检查格式的情况下比较日期,请使用:
moment('2017-01-01T00:00:00').isSame(moment('2017-01-01T00:00:00'))

moment('string','format you want to check for').isValid() 如果您不提供格式和测试 moment("ASD 10").isValid() 这将始终有效,因为它有一个整数并且它会转换为 OCTOBER 因为我说的是第 10 个月年份

console.log(moment("ASD 10",'YYYY-MMM DD h:mm A').isValid()); // returns 错误 console.log(moment("ASD 10").isValid()); //returns 真