关键词:
CST timezone 时区 【作者:
thinkernel】
老问题了,几年前做gnats的移植的时候曾经碰到过这个问题,没想到现在还能碰到这个问题。
在很多unix下用date命令都能看到当前的时区。很多unix下中国时区都是用CST表示的。但是这个表示方法非常不合理。因为CST同时代表了下面4个时区。
CST Central Standard Time (USA) UT-6:00
CST Central Standard Time (Australia) UT+9:30
CST China Standard Time UT+8:00
CST Cuba Standard Time UT-4:00
在unix下通过/etc/localtime这个硬连接指向的/usr/share/zoneinfo下的时区文件表示当前的真正时区。比如/etc/localtime指向了/usr/share/zoneinfo/Asia/Shanghai这个文件的时候,CST就代表了中国标准时间。
但是很多语言的时间函数库根本不做这个判断,往往就是用一个独立的时区配置文件做时区关键字和GMT的转换。因此很多系统里面CST都变成了GMT-6,也就是美国中部时间。
在zope里面也是如此。而且很奇怪的是有的地方做了正确的判断,有的地方没做正确判断。
比如文件的最后修改时间就是错的,但是如果对一个页面做comment的时候,comment时间就是正确的。
修改Zope中DateTime\DateTime.py的定义为:'cst':'GMT+8',就能够解决这个问题。
但是这样做就需要改代码,然后重新编译。
我试着在zope的启动脚本里面加上TZ的环境变量设置,但是没有效果。我想,最根本的解决方法应该是改变unix服务器的时区设置方法吧。
分享到:
相关推荐
本文主要介绍了C++时间戳转换操作,结合实例形式分析了C++时间戳转换与显示操作的原理与具体实现技巧,涉及GMT与CST时区转换。 一、时间戳转换原理 时间戳是指从1970年1月1日(00:00:00)至当前时间的总秒数。C++...
与GMT不同,CST这个缩写在不同的上下文中可能指代不同的时区。具体来说,它可以指: 1. **Central Standard Time (USA)**:北美中部时间(UTC-6:00)。 2. **Central Standard Time (Australia)**:澳大利亚中部...
最后,这个解决方案是在不改变系统时间设置的情况下,通过编程方式解决时区问题的一种便捷方法。它适用于需要在客户端或者服务端进行JSON序列化的场景,特别是需要保持本地时区一致性的应用,如网络数据交换、日志...
5. **myFmt4**:格式化为“第D天 第w周 第W周 第k时 z时”,即第321天 第46周 第3周 第15时 CST时区。 6. **now.toGMTString()**:输出当前日期为GMT时区的字符串。 7. **now.toLocaleString()**:输出当前日期为...
### Linux的日期命令详解 在Linux系统中,`date`命令是用于查看和修改系统时间的强大工具。...此外,了解如何查看系统时区和UNIX时间戳也是很有用的,尤其是在处理跨时区的数据或进行时间同步时。
3. **时区问题**:默认情况下,`SimpleDateFormat`使用本地时区,如果需要处理不同时区的数据,可以通过设置时区来解决。 通过以上介绍,我们可以看到`SimpleDateFormat`提供了非常灵活的方式来处理日期和时间的...
4. 本地时间:本地时间指的是针对特定时区的时间表示,例如中国标准时间(CST,东八区)。 在Python中,我们通常使用datetime模块来处理日期和时间的转换。在提供的代码示例中,首先定义了将Datetime转换为...
- **作用**:设置为东八区时区(CST表示China Standard Time)。 - `clock timezone beijing add 8` - **作用**:设置为北京时间(即东八区时区)。 - **注意事项**:在更改时间之前必须先更改时区,否则会报错...
一年中的第74天 一年中第12个星期 一月中第2个星期 在一天中10时 CST时区 ``` 以上示例展示了 `SimpleDateFormat` 的基本用法以及如何使用不同的日期格式字符串。通过这种方式,开发者可以灵活地控制日期和时间的...
例如,`%a`代表星期几,`%b`代表月份,`%T`表示24小时制的时分秒,`%Z`是时区,而`%Y`则是四位数的年份。在尝试转换日期时,你需要确保输入的日期字符串与指定的格式匹配。 问题在于,当日期字符串中的月份和星期...
% Z 时区 日期域 % a 星期几的简称( Sun..Sat) % A 星期几的全称( Sunday..Saturday) % b 月的简称(Jan..Dec) % B 月的全称(January..December) % c 日期和时间( Mon Nov 8 14:12:46 CST 1999) % ...
当使用`Date.toString()`方法将Date对象转换为字符串时,默认会生成类似于"Fri Mar 21 09:20:38 CST 2014"的格式,这个格式包含了星期几(EEE)、月份(MMM)、日期、小时、分钟、秒、时区(z)以及年份(yyyy)。...
- **%Z**:时区名称 - **%a**:缩写星期名(如 Sun..Sat) - **%A**:全名星期名(如 Sunday..Saturday) - **%b**:缩写月份名(如 Jan..Dec) - **%B**:全名月份名(如 January..December) - **%c**:完整日期和...
* `%Z` 时区 日期域格式符号包括: * `%a` 星期几的简称(Sun..Sat) * `%A` 星期几的全称(Sunday..Saturday) * `%b` 月的简称(Jan..Dec) * `%B` 月的全称(January..December) * `%c` 日期和时间(Mon Nov 8...
- `z`: 时区,如PST、CST 在示例代码中,创建了多个`SimpleDateFormat`实例,每个实例都用不同的模式字符串初始化,然后将当前日期(`Date now = new Date()`)格式化为不同形式的字符串输出。`applyPattern`方法...
- `T`:时区的英文表示,如CST - `z`:年内的一天,从0开始计数 通过组合这些格式化字符,你可以创建几乎任何你需要的日期和时间格式。例如,如果你想显示 "2022年6月12日,星期日,下午3点15分",你可以这样使用 `...
- `T`表示时区的简写,如CST、PST等。 - `U`表示自Unix纪元以来的秒数。 `date()`函数的灵活性还体现在可以根据需求组合这些格式化字符,以生成满足特定需求的日期和时间字符串。例如,如果你想要一个"YYYY-MM-DD ...
+ %Z : 显示时区 * 日期方面: + %a : 星期几 (Sun-Sat) + %A : 星期几 (Sunday-Saturday) + %b : 月份 (Jan-Dec) + %B : 月份 (January-December) + %c : 直接显示日期与时间 + %d : 日 (01-31) + %D : ...
%Z:显示时区 * 日期方面:%a:星期几(Sun-Sat);%A:星期几(Sunday-Saturday);%b:月份(Jan-Dec);%B:月份(January-December);%c:直接显示日期与时间;%d:日(01-31);%D:直接显示日期(mm/dd/yy);%h:同...
- `z`: 时区,如PST、CST等。 以下是一些使用`SimpleDateFormat`的例子: ```java SimpleDateFormat myFmt = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); ``` 这将按照"四位年份-两位月份-两位日期 两...