ActionScript编程  处理时区
作用:
获取本地时间与格林尼治标准时间之间的差值,并根据该差值以求出本地所属的时区。
说明:
1.关于时区
在地球上,不同地区的日出日落时间是有差异的,这一差异被称作时差。为了方便各地人们的交流,国际上以地球上可被15整除的经线为中心,向东西两侧延伸7.5度,即每15度划分一个时区,作为理论时区。地球上共24个理论时区。
在实际操作中,并非每个国家和地区都按照理论时区来制定本地时间。多数国家和地区都会根据国境线或行政区划来定制时间。例如,中国全国实际地跨5个时区,理论上应使用5种时区的时间,事实上整个中国使用的都是以北京所在的东8区作为标准时间。
ActionScript3.0支持两种时区的表达式,如下所示。
GMT+(-)HHMM
UTC+(-)HHMM
GMT  格林尼治标准时间(Greenwich Mean Time),是位于伦敦郊区的英国皇家天文台标准时间。
UTC  协调世界时(Coordinated Universal Time),是1972年起规定的折衷时标,被广泛应用于各行各业中。
在ActionScript中,GMT或UTC之后的加号代表本初子午线以东的时区,减号则代表本初子午线以西的时区。HHMM是该时区与格林尼治标准时之间的差值。例如,中国的北京所在东8区的表示方法就是GMT+0800或UTC+0800。
2.检测本地时区
在之前的章节中,已介绍了如何获取本地时间与格林尼治标准时间。Date类提供了getTimezoneOffset()方法来获取格林尼治标准时间与本地时间之间的差值。创建一个不带
参数的Date对象,即可通过getTimezoneOffset()方法求取本地与格林尼治标准时间的差值,如下所示。
var DateObject:Date=new Date();
北京时间和伦敦时间TimezoneOffset();
在上面的代码中,DateObject关键词表示Date对象的实例。getTimezoneOffset()方法的原理是用格林尼治标准时间减去本地时间,然后将时间的单位转换为分钟。
如果getTimezoneOffset()方法返回的结果为负,说明本地的时间要早于格林尼治标准时间,属于格林尼治以东的地区。反之,则表示本地时间要晚于格林尼治标准时间,属于格林尼治以西的地区。
示例:
使用getTimezoneOffset()方法,可以编写判断本地时区的实例,如下所示。
var now:Date=new Date();
TimezoneOffset()>0){
  trace("本地属于西"+TimezoneOffset()/60+"  区");
}else TimezoneOffset()<0){
  trace("本地属于东"+Math.TimezoneOffset()/60)+"区");
}else {
  trace("本地是本初子午线");
}