今天遇到一个奇怪的问题,在服务器端通过 Java 获取当前时间为 Fri Aug 28 09:37:46 CST 2009, 转化为
GMT时间为:28 Aug 2009 01:37:46 GMT,也就是说GMT时间加上 8 个小时等于CST表示的时间, 那这个
CST不就是北京时间么,因为我们是在东八区的。
一切看起来很正常,不过在客户端用JavaScript解析这个时间就有问题了:
// Fri Aug 28 2009 23:37:46 GMT+0800
new Date('Fri Aug 28 09:37:46 CST 2009').toString();
好奇怪,这次GMT和CST表示的时间居然相差整整 14 个小时?
百度一下
找到这篇文章,问题已经很明了。
GMT(Greenwich Mean Time)代表格林尼治标准时间,这个大家都知道。
而CST却同时可以代表如下 4 个不同的时区:
Central Standard Time (USA) UT-6:00
Central Standard Time (Australia) UT+9:30
China Standard Time UT+8:00
Cuba Standard Time UT-4:00
可见,CST可以同时表示美国,澳大利亚,中国,古巴四个国家的标准时间。
前面提到的通过 Java 获取的CST时间用的是China Standard Time,而客户端JavaScript则默认采用的是美国
的中部时间。
所以将 Fri Aug 28 09:37:46 CST 2009 加上 6 个小时,再加上 8 个小时,就等于 Fri Aug 28 2009 23:37:46
GMT+0800
可见,在以后的编程中为了避免错误,还是不要使用CST时间,而尽量采用GMT时间。
2009-9-25 2:19:39
疯狂代码 http://CrazyCoder.cn/
分享到:
相关推荐
### Java中CST和GMT的区别及用法 #### 一、引言 在进行日期和时间处理时,正确理解和使用时区概念对于确保程序的准确性和一致性至关重要。本文旨在深入探讨Java中的CST(Central Standard Time)和GMT(Greenwich ...
这个示例代码将时间戳1408413451转换为GMT时区的时间字符串,然后再将其转换为CST时区的时间字符串。 五、时间戳转换工具 本站还提供了一个Unix时间戳转换工具,包含了各种常见语言针对时间戳的操作方法,提供给...
时间戳转换(时间戳:自 1970 年1月1日(00:00:00 )至当前时间的总秒数。) #include #include int main(int argc, const char * argv[]) { time_t t; struct tm *p; t=1408413451; p=...
而北京时间,也称为中国标准时间(CST),是指东八区的区时,比GMT快8小时。 在Android应用开发中,Java语言提供了`java.util.Date`和`java.time`包中的类来处理日期和时间。例如,`java.util.Date`是最基础的时间...
而北京时间,也称为中国标准时间(CST),是东八区的区时,即UTC+8。 GPS系统由24颗卫星组成,每颗卫星都携带高精度的原子钟,以UTC为基准发送时间信号。接收机通过接收到的多颗卫星信号,可以计算出自己的地理位置...
CST(China Standard Time)是中国的标准时间,等于 GMT+8。DST(Daylight Saving Time)是夏令时,指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用,但中国不使用 DST。 安装 NTP 首先,我们...
在大多数情况下,可以将其视为格林威治标准时间(GMT)。 - **本地时间**: 指的是根据用户所在地理位置调整后的UTC时间。例如,在中国使用的本地时间通常是CST(China Standard Time),即UTC+8。 #### 二、关键知识...
打印`Date`对象时,会按照系统默认的时区显示日期和时间,例如"CST"代表中国标准时间,即UTC+8:00。 `Date`对象提供了`getTime()`和`setTime(long time)`方法来获取或设置日期的毫秒值。这两个方法分别用于获取日期...
几种不同的日期格式化方式,不同的时区时间转换成北京时间,也就是东八区的时间,注意的是后面的时区表示方式, def getTimeStamp(self, date): result = re.search(r"[\-\+]\d+", date) if result:
NTP服务器通常提供格林尼治标准时间(GMT),这是国际协调时间(UTC)的基础,而北美标准时间则包括美国和加拿大的几个时区,如东部标准时间(EST)、中部标准时间(CST)等。 要实现获取网络时间,我们需要使用...
格林威治标准时间(GMT)是世界时间标准之一,它是以英国伦敦格林威治天文台为参考点的时间标准。格林威治标准时间是世界时间standard之一,它与 UTC(Coordinated Universal Time)是两种不同但相近的时间标准。UTC...
在Linux系统管理中,了解如何正确设置和管理日期与时间是非常关键的,特别是在服务器环境,因为这直接影响到日志记录、程序同步以及其他依赖时间的服务。本文档主要介绍了在CentOS 7系统中设置日期和时间的方法,...
效果如:Thu Nov 08 2012 14:42:10 GMT+0800 (中国标准时间) 星期四 不需要引入外部JS 就一句话搞定
Thu Aug 22 2013 15:12:00 GMT+0800 (中国标准时间) 转换 代码如下: function formatTen(num) { return num > 9 ? (num + “”) : (“0” + num); } function formatDate(date) { var year = date.getFullYear(); ...
输出结果类似于:“Mon Mar 12 17:40:00 CST 2007”,这种方式可以获取到当前系统的完整日期时间。 ##### 3.2 获取日期(不含时间) ```java public class TestDate { public static void main(String[] args) { ...
时间戳是一个表示从1970年1月1日(UTC/GMT的午夜)开始所经过的毫秒数,常用于计算机系统中,尤其是在JavaScript编程中表示时间。JavaScript中的Date对象提供了方法来处理日期和时间。 #### ES6语法特点 ...
首先,`date`命令的基本用法是不带任何参数直接运行,它会输出当前系统的日期和时间,例如:`Tue Oct 24 20:18:11 CST 2006`。这里的"Tue"代表星期二,"Oct"是十月,"24"是日期,"20:18:11"是具体时间,而"CST"则...
它本质上是一个包装类,内部存储的是自1970年1月1日00:00:00 GMT(格林尼治标准时间)以来的毫秒数。该类提供了两个常用的构造函数: 1. **构造函数**: - `Date()`: 创建一个表示当前时间的`Date`对象。 - `Date...
国际时间采用的是协调世界时(UTC),而GMT是过去的时区标准,尽管二者在时间表示上目前基本一致,但它们的含义和历史背景有所不同。而中国时区为东八区,即UTC/GMT+8小时。 当使用JSON.stringify将日期对象转换为...