Date.UTC() Date.UTC() 方法接受的参数同 Date 构造函数接受最多参数时一样,但该前者会视它们为 UTC 时间,其返回从 1970 年 1 月 1 日 00:00:00 UTC 到指定时间的毫秒数。 尝试一下 </div></section><section aria-labelledby="语法"><h2 id="语法"><a href="#语法">语法</a></h2><div class="section-content"><div class="code-example"><pre class="brush: js notranslate"><code>Date<span class="token punctuation">.</span><span class="token constant">UTC</span><span class="token punctuation">(</span>year<span class="token punctuation">)</span> Date<span class="token punctuation">.</span><span class="token constant">UTC</span><span class="token punctuation">(</span>year<span class="token punctuation">,</span> month<span class="token punctuation">)</span> Date<span class="token punctuation">.</span><span class="token constant">UTC</span><span class="token punctuation">(</span>year<span class="token punctuation">,</span> month<span class="token punctuation">,</span> day<span class="token punctuation">)</span> Date<span class="token punctuation">.</span><span class="token constant">UTC</span><span class="token punctuation">(</span>year<span class="token punctuation">,</span> month<span class="token punctuation">,</span> day<span class="token punctuation">,</span> hour<span class="token punctuation">)</span> Date<span class="token punctuation">.</span><span class="token constant">UTC</span><span class="token punctuation">(</span>year<span class="token punctuation">,</span> month<span class="token punctuation">,</span> day<span class="token punctuation">,</span> hour<span class="token punctuation">,</span> minute<span class="token punctuation">)</span> Date<span class="token punctuation">.</span><span class="token constant">UTC</span><span class="token punctuation">(</span>year<span class="token punctuation">,</span> month<span class="token punctuation">,</span> day<span class="token punctuation">,</span> hour<span class="token punctuation">,</span> minute<span class="token punctuation">,</span> second<span class="token punctuation">)</span> Date<span class="token punctuation">.</span><span class="token constant">UTC</span><span class="token punctuation">(</span>year<span class="token punctuation">,</span> month<span class="token punctuation">,</span> day<span class="token punctuation">,</span> hour<span class="token punctuation">,</span> minute<span class="token punctuation">,</span> second<span class="token punctuation">,</span> millisecond<span class="token punctuation">)</span> <p>一个表示年份的整数值。</p> <p>从 <code>0</code> 到 <code>99</code> 的值会被映射到 <code>1900</code> 至 <code>1999</code> 年。其他的值则代表实际的年份。参见<a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date#%E4%BE%8B%E5%AD%90%EF%BC%9A%E5%B0%86%E4%B8%A4%E4%BD%8D%E6%95%B0%E5%B9%B4%E4%BB%BD%E6%98%A0%E5%B0%84%E4%B8%BA_1900_-_1999_%E5%B9%B4">示例</a>。</p> <dt id="month"><code>month</code> <span class="badge inline optional">可选</span></dt> <p><code>0</code>(一月)到 <code>11</code>(十二月)之间的一个整数,表示月份。从 ECMAScript 2017 开始,如果忽略该值,则默认为 <code>0</code>。<em>(直到 ECMAScript 2016,<code>month</code> 都是必须的参数。而从 ES2017 开始,它不再是必须的。)</em></p> <dt id="date"><code>date</code> <span class="badge inline optional">可选</span></dt> <p><code>1</code> 到 <code>31</code> 之间的一个整数,表示某月当中的第几天。如果忽略该值,则默认为 <code>1</code>。</p> <dt id="hour"><code>hour</code> <span class="badge inline optional">可选</span></dt> <p><code>0</code> 到 <code>23</code> 之间的一个整数,表示小时。如果忽略该值,则默认为 <code>0</code>。</p> <dt id="minute"><code>minute</code> <span class="badge inline optional">可选</span></dt> <p><code>0</code> 到 <code>59</code> 之间的一个整数,表示分钟。如果忽略该值,则默认为 <code>0</code>。</p> <dt id="second"><code>second</code> <span class="badge inline optional">可选</span></dt> <p><code>0</code> 到 <code>59</code> 之间的一个整数,表示秒。如果忽略该值,则默认为 <code>0</code>。</p> <dt id="millisecond"><code>millisecond</code> <span class="badge inline optional">可选</span></dt> <p><code>0</code> 到 <code>999</code> 之间的一个整数,表示毫秒。如果忽略该值,则默认为 <code>0</code>。</p> </dl></div></section><section aria-labelledby="返回值"><h3 id="返回值"><a href="#返回值">返回值</a></h3><div class="section-content"><p>一个数字,表示从 1970 年 1 月 1 日 00:00:00 UTC 到给定时间的毫秒数。</p></div></section><section aria-labelledby="描述"><h2 id="描述"><a href="#描述">描述</a></h2><div class="section-content"><p><code>UTC()</code> 方法接受以逗号隔开的时间参数,返回 1970 年 1 月 1 日 00:00:00 UTC 到指定的时间之间的毫秒数。</p> <p>如果年份被指定为 <code>0</code> 到 <code>99</code> 之间,则该方法会将年份转换为 20 世纪的一个年份(即 <code>1900 + year</code>),例如,指定为 <code>95</code>,则年份为 <code>1995</code>。</p> <p><code>UTC()</code> 方法与 <a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date"><code>Date</code></a> 构造函数有两点不同:</p> <li><code>Date.UTC()</code> 方法使用协调世界时代替本地时间。</li> <li><code>Date.UTC()</code> 方法返回一个时间数值,而不是一个 <a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date"><code>Date</code></a> 对象。</li> <p>如果有一个指定的参数超出其合理范围,则 UTC 方法会通过更新其他参数直到该参数在合理范围内。例如,为月份指定 <code>15</code>,则年份将会加 <code>1</code>(<code>year + 1</code>),然后月份将会使用 <code>3</code>。</p> <p>由于 <code>UTC()</code> 是 <a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date"><code>Date</code></a> 的一个静态方法,所以应该直接调用 <code>Date.UTC()</code>,而不要把它作为 <a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date"><code>Date</code></a> 实例的方法。</p></div></section><section aria-labelledby="示例"><h2 id="示例"><a href="#示例">示例</a></h2><div class="section-content"/></section><section aria-labelledby="使用_date.utc"><h3 id="使用_date.utc"><a href="#使用_date.utc">使用 Date.UTC()</a></h3><div class="section-content"><p>下面的语句使用 UTC 时间代替本地时间创建了一个 <a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date"><code>Date</code></a> 对象。</p> <div class="code-example"><pre class="brush: js notranslate"><code><span class="token keyword">const</span> utcDate <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span>Date<span class="token punctuation">.</span><span class="token constant">UTC</span><span class="token punctuation">(</span><span class="token number">2018</span><span class="token punctuation">,</span> <span class="token number">11</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre></div></div></section><h2 id="规范"><a href="#规范">规范</a></h2><table class="standard-table"><thead><tr><th scope="col">Specification</th></tr></thead><tbody><tr><td><a href="https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-date.utc">ECMAScript Language Specification<!-- --> <br/><small># <!-- -->sec-date.utc</small></a></td></tr></tbody></table><h2 id="浏览器兼容性"><a href="#浏览器兼容性">浏览器兼容性</a></h2><p>BCD tables only load in the browser</p><noscript> <!-- -->with JavaScript enabled. Enable JavaScript to view data.</noscript><section aria-labelledby="兼容性备注"><h3 id="兼容性备注"><a href="#兼容性备注">兼容性备注</a></h3><div class="section-content"><h4 id="少于两个参数的_date.utc">少于两个参数的 Date.UTC()</h4> <p>当向 <code>Date.UTC()</code> 提供少于两个的参数时,ECMAScript 2017 要求返回 <a href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/NaN"><code>NaN</code></a>。不支持此行为的引擎已被更新(参见 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1050755" class="external" target="_blank">bug 1050755</a>、<a href="https://github.com/tc39/ecma262/pull/642" class="external" target="_blank">ecma-262 #642</a>)。</p> <div class="code-example"><pre class="brush: js notranslate"><code>Date<span class="token punctuation">.</span><span class="token constant">UTC</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> Date<span class="token punctuation">.</span><span class="token constant">UTC</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Safari: NaN</span> <span class="token comment">// Chrome/Opera/V8: NaN</span> <span class="token comment">// Firefox <54: non-NaN</span> <span class="token comment">// Firefox 54+: NaN</span>