【问题标题】:parseInt returning NaN in IE, but works fine in Chrome [duplicate]parseInt 在 IE 中返回 NaN,但在 Chrome 中工作正常 [重复]
【发布时间】:2016-01-16 08:52:01
【问题描述】:

我正在尝试获取字符串中的日期并将其转换为 unix 时间戳 int。我正在使用 parseInt 将字符串更改为 int,它在 chrome 中运行良好。但是 IE 和 Edge 给我的是 NaN。

在 jsfiddle 中:http://jsfiddle.net/padv54s9/2/

var dob = (+new Date('2012.03.1')/1000).toFixed(0);
dob = parseInt(dob);
alert(dob);

【问题讨论】:

  • 检查您的浏览器是否理解您尝试使用的日期格式 -- console.log(Date.parse('2012.03.1'))。对各种格式的支持几乎完全由每个引擎来选择/提供。 JavaScript 只指定一个作为保证——YYYY-MM-DDThh:mm:ss.sTZD
  • @JonathanLonowski 谢谢!它不理解日期格式。将其从 .到/它工作了

标签: javascript jquery google-chrome internet-explorer microsoft-edge


【解决方案1】:

问题是 IE 和 Edge 不理解 yyyy.mm.dd 格式的日期。但是,他们确实理解 yyyy/mm/dd 格式的日期。改变 .解决/解决问题

【讨论】:

  • 也不要使用/——它可能会起作用,但它是非标准的,因此无法保证。要么使用-,要么使用数字更好地构建日期(new Date( 2012, 3, 1 )
猜你喜欢
  • 2016-05-18
  • 2013-10-29
  • 2012-03-04
  • 1970-01-01
  • 2019-03-04
  • 1970-01-01
  • 1970-01-01
  • 2015-02-03
  • 2016-05-20
相关资源
最近更新 更多