我最近遇到了javascript中不可靠日期的问题。
以下是您可以在自己的浏览器控制台中测试的示例,以重现问题。
s = new Date(0); s.setYear(2015); s
//Thu Dec 31 2015 18:00:00 GMT-0600 (Central Standard Time)
s.setMonth(5); s
//Wed Jul 01 2015 18:00:00 GMT-0500 (Central Daylight Time)
s.setMonth(6); s
//Wed Jul 01 2015 18:00:00 GMT-0500 (Central Daylight Time)
如你所见,设定5月(6月)与6月(7月)相同,均为7月返回。 这可以通过使用 - new Date()而不是new Date(0)来解决。
我只想了解发生这种情况的原因。 重申,想明白为什么。 任何人都可以描述这种行为吗?
https://wordpress.org/support/topic/front-end-submit-events-off-by-1month?replies=5#post-7059058
答案 0 :(得分:2)
s.setMonth(5)
将月份设置为6月(月份为零索引),因此您将日期设置为 2015年6月31日。s.setMonth(6)
将月份设置为7月无效,因为日期已经是7月了。 new Date()
使用当前日期(今天不是第31天),因此不会发生这种31比1的翻转。
答案 1 :(得分:1)
此处讨论了问题的原因:javascript new Date(0) class shows 16 hours?
因此,在您的情况下,不要在Date();
中传递0
$('.show').click(function () {
$(this).closest('.comment-parent').find('.watch').show('slow');
});