1

我正在将一些来自我的数据库的日期以字符串格式加载到 HTML 表中。该字符串看起来像是31-AUG-13我正在使用以下代码将此字符串解析为日期对象:

var paymentDate = $(this).find('td.paymentDate').text();
var test = $.datepicker.parseDate('d-M-y', paymentDate);

到目前为止一切都很好,我得到了这个日期对象:Date {Sat Aug 31 2013 00:00:00 GMT+0300 (FLE Standard Time)}但是一旦年份大于 2023 年。在我的情况下31-JAN-24等等它变成了 1924 年而不是 2024 年,所以我得到了这些日期对象:

Date {Thu Jan 31 1924 00:00:00 GMT+0200 (FLE Daylight Time)}
Date {Fri Feb 29 1924 00:00:00 GMT+0200 (FLE Daylight Time)}
Date {Mon Mar 31 1924 00:00:00 GMT+0300 (FLE Standard Time)}
Date {Wed Apr 30 1924 00:00:00 GMT+0300 (FLE Standard Time)}

等等。我的问题是关于这个奇怪的问题。在年份大于 2023 的情况下,有没有办法声明年份范围以及为什么要回到 1900 年?

4

1 回答 1

1

这教了一课总是使用完整格式的年份,这与 y2k 问题的情况相同。将数据库中的日期转换为 yyyy 格式,然后使用它。

于 2013-10-23T11:12:00.023 回答