gpt4 book ai didi

javascript - 为什么我的日期解析不正确?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:38:43 25 4
gpt4 key购买 nike

我在解析 2000 年 1 月 1 日之后的日期时遇到问题。结果返回不正确。 1999 被解析为 1999 年,当它到达 2000 时,它被解析为 0100,然后 2001 被解析为 0101,等等。这是说明这个问题的测试代码:

<script type="text/javascript" language="javascript">


// functions incorrect changes year from 2010 to 0101
var d = (new Date("12/01/2009"));
if (d.getMonth() < 11)
{ d = new Date(d.getYear(), d.getMonth() + 1, 1); }
else
{ d = new Date(d.getYear() + 1, 0, 1); }
document.write(d);
// Result: Sat Jan 01 0101 00:00:00 GMT-0500 (Eastern Standard Time)

document.write('<br />');


document.write(Date.parse(Date()) < Date.parse(d));
//
// Result: false today should definitely be < 01/01/2010


document.write('<br />');


// Functions correctly if year is before 2000

var d = (new Date("12/01/1998"));

if (d.getMonth() < 11)
{ d = new Date(d.getYear(), d.getMonth() + 1, 1); }
else
{ d = new Date(d.getYear() + 1, 0, 1); }


document.write(d);
// Result: Fri Jan 01 1999 00:00:00 GMT-0500 (Eastern Standard Time)
document.write('<br />');


document.write(Date.parse(Date()) < Date.parse(d));
// false


</script>

最佳答案

你需要使用 d.getFullYear() 而不是 d.getYear()

getYear() 只给出自 1900 年以来的年数,显然 ;)

关于javascript - 为什么我的日期解析不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/644243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com