GMT和PST--关于时区的知识
1、概念和换算
2、日期中的时区标志
3、在Oracle 9i中正确转换时区
4、redhat9终端方式下更改时区
5、java下的时区......
GMT和PST--关于时区的知识
我们在网上浏览,在虚拟时空漫游世界时,经常会遇到时区的困扰,这篇文章是什么时间发布的?邮件是什么时间发出的?GMT和PST各代表什么意思,如何换算?等等.
我通过互联网搜集了一些小知识,供大家参考。
1、概念和换算
PST - 美国太平洋标准时间
GMT 格林威治标准时间
几个换算公式,因为是24进制,看起来有点怪:
(GMT +8)-16 =PST
PST+7 = GMT
PST+16 = GMT + 8(中国)
我们是东八区,加州是西八区,中间差16个小时。
2、关于日期中的时区标志。
由于都在互联网上,大家在各个时区的事件表示有所不同,因此日期要转换到当前时区的日期和时间,在互联网上,大家一般都用CTS(世界标准时间)有称作GMT(格林尼治时间)。
譬如日期时间为:Sat, 30 Mar 2002 13:27:08 -0800,我们当前所在的时区为正8区(北京时间),则用我们所在时区表示就是 Sat, 30 Mar 2002 29(13+16):27:08 即Sun, 31 Mar 2002 6:27:08 +8000。 ---??
目前存在的时区有:
GMT 格林威治标准时间 GMT
UTC 全球标准时间 GMT
ECT 欧洲中部时间 GMT+1:00
EET 东欧时间 GMT+2:00
ART (阿拉伯)埃及标准时间 GMT+2:00
EAT 东非时间 GMT+3:00
MET 中东时间 GMT+3:30
NET 近东时间 GMT+4:00
PLT 巴基斯坦拉合尔时间 GMT+5:00
IST 印度标准时间 GMT+5:30
BST 孟加拉国标准时间 GMT+6:00
VST 越南标准时间 GMT+7:00
CTT 中国台湾时间 GMT+8:00
JST 日本标准时间 GMT+9:00
ACT 澳大利亚中部时间 GMT+9:30
AET 澳大利亚东部时间 GMT+10:00
SST 所罗门标准时间 GMT+11:00
NST 新西兰标准时间 GMT+12:00
MIT 中途岛时间 GMT-11:00
HST 夏威夷标准时间 GMT-10:00
AST 阿拉斯加标准时间 GMT-9:00
PST 太平洋标准时间 GMT-8:00
PNT 菲尼克斯标准时间 GMT-7:00
MST 西部山脉标准时间 GMT-7:00
CST 中部标准时间 GMT-6:00
EST 东部标准时间 GMT-5:00
IET 印第安那东部标准时间 GMT-5:00
PRT 波多黎各和美属维尔京群岛时间 GMT-4:00
CNT 加拿大纽芬兰时间 GMT-3:30
AGT 阿根廷标准时间 GMT-3:00
BET 巴西东部时间 GMT-3:00
CAT 中非时间 GMT-1:00
3、教你怎样在Oracle 9i中正确转换时区
在Oracle9i之前,虽然有一个NEW_TIME函数可以改变DATE的时间戳部分,但是还没有专门用来存储时区信息的数据类型。在Oracle9i 中,我们可以使用DBTIMEZONE伪字段查询数据库的时区,使用SESSIONTIMEZONE伪字段查询会话的时区。
但是,对于大多数数据库,这些值都是-07:00之类的偏移值,因此对于NEW_TIME函数是没有用的。Oracle9i有关NEW_TIME的文档建议使用FROM_TZ来替代,但是这可能会产生误导。FROM_TZ只将一个时区应用到一个时间戳上;它并不能把一个时区转换成另外一个时区。
其实有一个比较好的方法(从文档中得到这个方法可能有点难)。首先,为了完成这个工作,在正确的时区内需要一个TIMESTAMP WITH ZONE数据类型。然后,如果你将关键字AT TIME ZONE应用到那个值,它就会自动地调整为新的时区和日期。
select (timestamp ';2003-04-06 01:59:59'; at time zone ';PDT';) at time zone ';GMT'; from dual;
06-APR-03 08.59.59.00000000 AM GMT
这个语句将为太平洋白天时间(即其切换到PST之前的时刻)构造一个TIMESTAMP WITH TIME ZONE然后再将其转换到GMT。AT TIME ZONE关键字也接受默认的偏移值语法:
select (timestamp ';2003-04-06 02:00:00'; at time zone ';-07:00';) at time zone ';00:00'; from dual;
06-APR-03 09.00.00.000000000 AM +00:00
你还可以使用伪字段来自动调整当前会话的时区:
select current_timestamp at time zone dbtimezone from dual;
上面的表达式返回一个当前会话的本地时间(数据类型为时区),重新调整数据库的时区,调整后的时区将与SYSTIMESTAMP的结果相等。有了以上的这些信息,就可以构造一个比较好的NEW_TIME函数:
create or replace function my_new_time (p_dwtz timestamp with time zone, p_tz varchar2 ) return date is
begin
return cast(p_dwtz at time zone p_tz as date);
end
my_new_time;
/
show errors;
select my_new_time(sysdate,';+08:00';) from dual;
即使第一个参数被标记为一个timestamp with time zone,你依然可以传入一个TIMESTAMP和DATE,这样由于Oracle的自动转型操作,得到的时间将是会话在本地时区的当前时间。这个函数接受包括偏移值在内的任何可以被TIMESTAMP识别的时区,然后将接受的时区调整为正确的值。
分享到:
相关推荐
OpenWRT 中的 NTP 时间同步和时区设置 OpenWRT 是一个基于 Linux 的嵌入式操作系统,广泛应用于路由器和其他嵌入式设备中。由于 OpenWRT 的广泛应用,因此设置正确的时间同步和时区变得非常重要。下面将详细介绍 ...
#### 二、重要概念与知识点 **1. 时区(TimeZone)** - **定义**:时区是指地球表面按照经度划分的一系列区域,每个区域采用特定的时间来调整日期和时间。 - **作用**:在国际间协调时间差异、进行时间转换时非常...
《时区基础知识》 在地球这个庞大的球体上,时间的流逝并非同步,这就引出了时区的概念。时区是地球表面被划分为24个区域,每个区域覆盖15个经度,用来协调和规范各地的时间。这些时区的划分基于地球自转,使得各地...
在本文中,我们将详细介绍时区的概念、UTC时间、格林尼治时间、夏令时、区时转换等知识点,并提供Java代码示例来实现时区时间转换。 一、时区概念 时区是指一个地区或国家的标准时间,可以是正时区也可以是负时区...
时区基础知识学习教案.pptx
【时区基础知识】 时区是地球表面按照经度划分的时间区域,主要为了在全球范围内实现时间的统一和协调。这一概念对于通信、交通、金融等领域至关重要,确保了不同地区的人们可以准确地同步活动。时区的划分基于地球...
标签“1801”可能是对这套壁纸的内部编号或者版本标识,没有明确的IT知识含义,但可以理解为一种组织或分类方式。 压缩包子文件的文件名称列表“宽屏蓝色时区”暗示了这些壁纸是专为宽屏显示器设计的,进一步证实了...
在Oracle数据库环境中,时区版本的更新是至关重要...了解这些知识点后,你可以更有效地管理和维护Oracle数据库,特别是在涉及时区转换和数据迁移的复杂操作时。同时,对于遇到的TSTZ类型报错,也能找到合适的解决方案。
本文将深入探讨“时区设置代码-一个完整的C++类”的相关知识点,包括`SetTimeZoneInformation`函数的使用、注册表操作以及如何在C++中实现这些功能。 `SetTimeZoneInformation`是Windows API提供的一个函数,用于...
`time.reg`文件很可能包含了关于用户计算机时区设置的注册表项,通常用于备份或恢复时区信息。但这个文件本身与Java编程语言无关,更多涉及操作系统层面。 在Java中处理时区问题时,有以下几个关键知识点: 1. **...
在JavaScript(JS)编程中,处理世界时区...以上就是关于“JS世界时区时间代码.zip”文件涉及的主要JavaScript时间和时区处理知识点。理解和掌握这些概念,能帮助开发者创建出能够适应全球用户的动态时区时间显示功能。
总的来说,多时区时钟的设计与实现融合了时间处理、用户界面设计、文件操作、音频播放以及后台服务等多个方面的技术知识。通过合理地组织和实现这些功能,可以创建出一个实用且用户友好的多时区时钟应用。
**描述解析:**描述部分为空,但我们可以推测这篇博文可能提供了关于如何理解、计算和管理全球不同时区与北京时间之间时差的详细信息。可能包括一个实用的工具或源代码,帮助开发者在程序中处理时间问题。 **标签...
在iOS开发中,获取全球不同时区的当前时间是一项常见的需求。这个名为"testtimezone 20181210"的项目提供了一个源码示例,...通过深入理解这些知识点,开发者能够更好地处理跨时区的时间操作,提高应用的国际化水平。
Linux系统中设置和管理时区与时间是一项基础而重要的任务,尤其是在多用户环境中,或者涉及到跨时区的网络服务。下面详细介绍Linux下时区与...通过学习和掌握相关知识,可以有效地避免时区和时间设置错误带来的问题。
JS处理时区时间通常涉及以下几个关键知识点: 1. **JavaScript Date对象**:JavaScript内置的Date对象是处理时间的基础,可以用来创建、操作和格式化日期和时间。例如,`new Date()`会创建一个表示当前时间的对象,...
`TimeZone`对象代表了一个特定的时区,它包含了关于夏令时规则、偏移量等信息。在iOS中,我们可以使用`TimeZone`的`knownTimeZoneIdentifiers`属性获取所有已知时区的标识符列表。这些标识符可以是如"Asia/Shanghai...
标题中的“24时区”、“GMT”和“UTC”都是与全球时间标准相关的概念,它们在信息技术领域,特别是网络通信、系统管理和日志记录中扮演着...通过学习和掌握这些知识,我们可以更好地理解和应对与时间相关的各种问题。
下面将详细介绍timedatectl命令的使用和时区设置的相关知识点。 timedatectl命令 timedatectl命令是CentOS 7中用于管理系统时间的命令行工具。该命令提供了多种选项,用于查看和设置系统时间相关的各种状态。 ...
以下是这个脚本可能包含的一些具体知识点: 1. **MQL5语言基础**:理解脚本是如何使用MQL5语法来定义变量、条件语句、循环和函数的。 2. **图形对象绘制**:脚本会使用MQL5内置的函数绘制垂直线,这些函数可能包括...