JavaScript“new Date()”使用哪个时区
Which time zone does JavaScript `new Date()` use?
我有一个C#应用程序,它以JSON形式返回身份验证令牌的到期日期,如下所示:
"expirationDate":"Fri, 27 Mar 2015 09:12:45 GMT"
在我的TypeScript中,我在这里检查日期是否仍然有效:
isAuthenticationExpired = (expirationDate: string): boolean => {
var now = new Date().valueOf();
var exp: any = Date.parse(expirationDate).valueOf();
return exp - now <= 0;
};
我想知道的是new Date()
在返回日期时使用的时区是什么?
JavaScript将使用客户端的本地时间,但它也有UTC/GMT方法。以下来自Mozilla:
JavaScriptDate对象支持许多UTC(通用)方法以及本地时间方法。UTC,也称为格林尼治标准时间(GMT),是指世界时间标准设定的时间。本地时间是执行JavaScript的计算机已知的时间。
虽然方法可用于访问UTC和本地时区中的日期和时间,但日期和时间存储在本地时区中:
注意:重要的是要记住,日期和时间存储在本地时区,获取日期和时间或其组件的基本方法也都在本地时区中工作。
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
默认情况下,JS将使用您的浏览器时区,但如果您想更改显示,例如可以使用toString()
函数;)
var d1=new Date();
d1.toString('yyyy-MM-dd'); //returns "2015-03-27" in IE, but not FF or Chrome
d1.toString('dddd, MMMM ,yyyy') //returns "Friday, March 27,2015" in IE, but not FF or Chrome
正如其他人所说,JavaScript使用客户端系统时间,但您可以从服务器时间创建日期对象,因此每个客户端都将获得相同的当前时间。
var date = new Date("<?php echo date("Y-m-d H:i:s");?>");
它只能在页面加载时工作。如果您想稍后检查日期是否仍然有效,则需要每隔几秒钟将当前日期与服务器日期同步一次。
Javascript new Date()使用的时区是什么?
Date
对象的工作时间是自大纪元(1970年1月1日格林尼治标准时间午夜)以来的毫秒数。它们有像getDay
和getMonth
这样使用JavaScript引擎的本地时区的方法,还有像getUTCDay
和getUTCMonth
这样使用UTC(大致为GMT)的函数。
如果您正在解析一个字符串,则需要确保该字符串的格式是Date
知道如何解析的。规范中唯一定义的格式是ISO-8601的简化派生版本,但它只是在ES5中添加的,他们在规范中错误地指出了如果字符串上没有时区指示器会发生什么,所以你需要确保它上始终有一个时区指示器(目前,ES6会修复它,最终引擎会可靠地使用ES6行为)。这些字符串看起来像这样:
"2015-03-27T09:32:54.427Z"
您可以使用toISOString
方法生成该格式。
- toLocaleDateString和toLocaleString方法不尊重机器时区
- 高库存时期时间与时区不匹配
- 仅在IE中,javascript中的时区名称不正确
- 使用:new Image()控制加载html.src=html_URL
- 带时区的Javascript Datestring转换器
- 如何在不使用 new 关键字的情况下从函数创建对象
- 获取用户选择的不带时区的日期
- Rails:如何获取当前用户'使用Heroku时的时区
- 为什么要做新的.Date()与new相差1小时.日期().到ISOString()
- “createImageData()”和“new ImageData(()”有何不同
- 时刻时区和时区(_Z)
- 分析特定区域设置(而不是时区!)中的日期字符串
- moment.js在两个时区格式的日期之间存在差异
- 返回值+new Date()与Date.now()是否不同
- JavaScript“new Date()”使用哪个时区
- new Date(UTCstrings),将UTCStrings转换为其他时区(非本地时区)
- JavaScript中特定时区的new Date()
- 字符串中的Firefox new Date()构造本地时区的时间
- javascript new Date(timestamp)是否根据客户端的时区返回日期?
- new Date () javascript在太平洋时区没有显示正确的日期