关于时区AS3

如果代码中没有做时区的兼容话,不同时区看到的游戏世界可能就不一样。
比如一个活动是设定中午12点开始,但是玩家的时区是在美国(反正和中国不一样),他的前端程序活动就无法正常开启,因为前端程序以为他正在夜晚(时间没到),其实已经在北京时间(东八区+8)。

为什么呢?首先弄清楚几个概念:

协调世界时 ,简称UTC 。 格林尼治台的时间 (英:Universal Time Coordinated ,法:Temps Universel Coordonné),又称世界统一时间,世界标准时间,国际协调时间。

时区(Time Zone)是地球上的区域使用同一个时间定义。1884年在 华盛顿 召开国际经度会议时,为了克服 时间 上的混乱,规定将全球划分为24个时区。
我国处于第八时区 所以北京时间是 UTC +8

UNIX时间,或称POSIX时间,是 UNIX 类UNIX 系统使用的时间表示方式:从协调世界时1970年1月1日0时0分0秒起的总秒数,不包括 闰秒

时间是怎么表示的?
大家所处的当下是有一个标准时间,即UTC。
我们领国日本( 东九区+9 ),中国(东八+8)。
如果UTC是零点。则这个时候中国是8点(0+8),日本是9点(0+9)。
如果我们一个网络活动是8点开启,在前端程序里面代码写死了8的话,日本的玩家可能无法正常,因为这个时候日本的电脑是九点。

解决办法。所有的时间都用UTC记录,服务端也同意用UTC记录,然后加权时区。
回到上面的活动,我们把程序里面的活动时间用UTC记录时间,即UTC-0点。在每个客户端中对比UTC时间,而不是加权了时区的本地时间。
当北京的UTC走到0点,也就是北京时间8点活动开启。此时日本 的UTC也走到0点,也就是东京时间9点活动开启。2地时间可以同步了。



as3,示例
            var d:Date = new Date();
            d.hours//计算了时区,+8
            d.hoursUTC//没有加上时区  0
            d.getTimezoneOffset()//以分钟为单位,返回计算机的本地时间和通用时间 (UTC) 之间的差值。


ps:有趣的是

2038年1月19日3时14分07秒,32位系统的UNIX时间将会被重置。     
Python中处理时区的常用库是pytz。pytz库提供了一种简单的方式来处理不同时区的时间。可以使用pytz库来获取当前时间并将其转换为指定时区的时间。例如,可以使用pytz库将当前时间转换为纽约时区的时间。以下是使用pytz库的示例代码: ```python import pytz import datetime # 获取当前时间 now = datetime.datetime.now() # 设置时区为纽约 ny_tz = pytz.timezone('America/New_York') # 将当前时间转换为纽约时区的时间 ny_time = now.astimezone(ny_tz) print(ny_time) ``` 在这个例子中,我们首先导入pytz和datetime库。然后,我们获取当前时间并将其存储在变量now中。接下来,我们使用pytz.timezone函数设置时区为纽约。最后,我们使用astimezone方法将当前时间转换为纽约时区的时间,并将结果存储在变量ny_time中。最后,我们打印出纽约时区的时间。 需要注意的是,pytz库中的时区表示通常采用“区域/城市”的格式,例如“Asia/Shanghai”表示中国上海所在的时区。pytz库中内置了很多时区,可以通过pytz.all_timezones获取所有时区的列表。\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [初学Python,你知道Python是如何处理不同时区的吗?](https://blog.csdn.net/hihell/article/details/129115685)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python怎么进行时区的转换](https://blog.csdn.net/qq_37944726/article/details/128397856)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值