blob: 1deee46fccb5c62fd57069f93b738b6bc3bda3bb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
---
title: 'RangeError: invalid date'
slug: Web/JavaScript/Reference/Errors/Invalid_date
tags:
- JavaScript
- 范围错误
- 错误
translation_of: Web/JavaScript/Reference/Errors/Invalid_date
---
<div>{{jsSidebar("Errors")}}</div>
<h2 id="消息">消息</h2>
<pre class="syntaxbox">范围错误: 非法数据(Firefox)
范围错误: 非法时间值 (Chrome)
范围错误: 提供的数据不是有效的 (Chrome)
</pre>
<h2 id="错误类型">错误类型</h2>
<p>{{jsxref("RangeError")}}</p>
<h2 id="哪里出错了">哪里出错了?</h2>
<p>为 {{jsxref("Date")}} 或 {{jsxref("Date.parse()")}} 提供了一个会导致无效日期的字符串。</p>
<h2 id="示例">示例</h2>
<h3 id="错误示例">错误示例</h3>
<p>ISO格式化字符串中不可识别的字符串或者包含非法元素值的日期一般会返回 {{jsxref("NaN")}}。然而,根据实现的不同,不符合ISO格式的字符串可能也会抛出<code> RangeError: invalid date</code>,比如在火狐浏览器中有以下情形:</p>
<pre class="brush: js example-bad">new Date('foo-bar 2014');
new Date('2014-25-23').toISOString();
new Date('foo-bar 2014').toString();
</pre>
<p>然而下面这种情形会返回 {{jsxref("NaN")}} :</p>
<pre class="brush: js example-bad">Date.parse('foo-bar 2014'); // NaN</pre>
<p>参见 {{jsxref("Date.parse()")}} 文档,了解更多详情。</p>
<h3 id="正确示例">正确示例</h3>
<pre class="brush: js example-good">new Date('05 October 2011 14:48 UTC');</pre>
<h2 id="另见">另见</h2>
<ul>
<li>{{jsxref("Date")}}</li>
<li>{{jsxref("Date.prototype.parse()")}}</li>
<li>{{jsxref("Date.prototype.toISOString()")}}</li>
</ul>
|