当我应用以下代码时 javascript中的new Date(“ 25-06-2019”),它始终给出无效的日期。但是相同的格式也可以在PHP中使用。
这可能是什么原因? javascript的格式无效?
答案 0 :(得分:2)
您需要使用ISO 8601日期或RFC 2822日期。请参阅(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)。
如果您要执行更复杂的操作,我建议您使用Moment.js,它将为您执行很多日期解析/格式化/操作。
例如:
let iso8601Date = '2019-06-25';
console.log(new Date(iso8601Date));
let rfc2822Date = 'Tue, 25 Jun 2019 +0000'
console.log(new Date(rfc2822Date ));
// Or you can use moment.js which is great for date parsing, formatting, etc.
console.log(new moment.utc("25-06-2019", "DD-MM-YYYY"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
答案 1 :(得分:1)
new Date("25-06-2019")
给您无效的日期,因为您传递的是无效的日期字符串。
有四种创建新日期对象的方法:
new Date()
new Date(year, month, day, hours, minutes, seconds, milliseconds)
new Date(milliseconds)
new Date(date string)
因此,您的案件是第4个案件,因此有效的日期字符串应类似于October 13, 2014 11:13:00
如果您通过日期字符串上方说
console.log(new Date("October 13, 2014 11:13:00"));
它将正常工作。
此外,您可以提供有效的ISO 8601字符串。
console.log(new Date("2008-09-15"));
对于ISO 8601字符串格式,您可以参考http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a003169814.htm。