【问题标题】:JavaScript Date Undefined/NaN in IE8IE8 中的 JavaScript 日期未定义/NaN
【发布时间】:2013-07-31 18:56:24
【问题描述】:

我用它来测试日期输入是否距离今天的日期少于 7 天,它适用于所有浏览器,除了

var today = new Date("<?=date("Y-m-d")?>"); //eg: 02-10-2012
var arrDate = new Date(startYear+"-"+startMonth+"-"+startDay); //eg: 05-10-2012
var diff = new Date(arrDate - today);
var days = diff/1000/60/60/24;
if(days<7) alert("less than 7 days.");

我在 IE 控制台 (F12) 中没有收到错误,但 days 调试为 NaN,有人知道 IE 有什么问题吗?

【问题讨论】:

  • 作为说明,尽量避免使用 PHP 的短标签。
  • 我尝试了您的代码(删除 php 和变量连接替换为显示的数据字符串)并猜猜是什么。 Firefox 提供了一个无效的 Date 对象。 Date 对象有一个需要 Date(year, month, day, [etc]

标签: javascript date


【解决方案1】:

IE 8(及以下)无法识别y-m-d 格式的日期字符串。

我建议你使用y/m/d,因为它被所有浏览器识别。


PS:你的评论是错误的。

new Date("<?=date("Y-m-d")?>"); //eg: 02-10-2012

应该阅读

new Date("<?=date("Y-m-d")?>"); //eg: 2012-10-02

一般来说,您永远不应该评论显而易见的内容,以避免不反映代码的 cmets。 date("Y-m-d") 很明显,根本不需要评论。

【讨论】:

    猜你喜欢
    • 2012-11-25
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多