news 2026/4/2 5:54:03

多时区的全天概念概述

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多时区的全天概念概述

背景

公司准备出海,有些产品就得考虑全球的应用场景了,比如说一个中国人和一个美国人系统办公的事情,首先地理跨度就比较大,中间的时差问题就非常明显。

专业术语

标准时区:其实就是格林尼治时间,UTC时间。

本地时区:就是分处在各个地理位置上的时间,比如我们东八区,其实就是UTC 时间 +8为当地时间。

全天:一般意义上说的其实就是一整天,其实就是从0点到次日零点之间的时间段为通俗意义上的全天时间。

时差:其实就是不同时区之间的时间差值,比如说日本是东九区,我们是东八区,日本的时间就比我们早一个小时,在具体一点,在UTC时间为0点的时候,东八区的时间是8点,东九区的时间就是9点。

概念上的统一

如果大家都是同一个时区的,那么就没有统不统一的概念,因为大家本来就是一样的,所以我们讨论的场景仅仅是不同时区之间的场景。

我们其实天然的对时间不是很敏感,跟别人说一个时间的时候,如果跨了时区天然都是转换困难的。

本地时间,这个其实不光是一个数字的问题,周围的一切都会告诉你现在是几点,早上七八点太阳要出来,12点太阳要升到最高的位置,傍晚五六点太阳又要落下去。更重要的当地的人跟你说时间的时候都说的是当地时间。

所以,当你了解一件事情的时候,都是以自己的时间(一般是当地时间)为准的,就是我需要明确的知道,在我的时间里边,他是几点到几点。

另外还有一件事情很重要,你需要跟你的小伙伴交流的,所以他的时间也需要尊重,但是,如果你们两个还不在一个时区里边的话,再将原时间时间转换他的时区,这个转换就比较困难,所以一般跨时区讨论问题的时候,一般会说原始时区的时间,举个例子,你跟一个美国的同学要参加一个非洲同学的会议,那你跟美国同学确认的时候,就会说“那个非洲时间2点到3点的会议,你参不参加”。

具体要怎么表现

图片

这个是钉钉的表现,其实看上去就蛮正常的,符合我们之前概念上的统一里边提到的,我的时间跟原始时间的概念。

这样大家就可以一块愉快的交流了。

全天概念歧义

全天这里其实我们有分歧,有的人认为一天是一整天,有人认为一天是一个具体的时间段。

概念上的冲突

一天就是一整天

一天就是一天,他的时间维度是以天为最小维度的,所以他是一个点儿而并不是一个时间段。

你看,我们之间虽然有时差,但是大家都是17号有什么问题,难道中国的17号跟美国的17号不是一个17号?

所以相对于存在一整天一类的概念上,其实我们标识为17号,然后说明他是一整天就完事了呗。

并且你看,虽然咱们之间有时差,但是真正有效的时间,其实就几个小时,这几个小时差得多的话,嗐大概率不重叠,那么一天的概念,其实具有一定的普适性,并且UI界面表现也很直接,如果你差了几个小时,你在日历上显示的时候,他究竟是 17号的呢?还是 18号的呢?还是 17 跟 18号呢?再加上一整天的属性,那么一天的日程不就变成两天了?

一天是一个时区的一整天

一天是当前时区的一整天也就是从0点到次日的0点,他其实是存在明确的时间段的概念的。

当我们存在于不同的时区的时候,他就应该按照普通的时间段来进行表示了,毕竟本身跨天的时间段这个概念肯定是存在的。

更深层的冲突

World_Time_Zones_Map

在探讨更深层的冲突之前,我们还是先来统一一下几个概念

全天,我们之前已经讲过了,一天的概念,其实是从0点到次日0点。但是你有没有想过,这两个0点是哪个时区的?其实是你所在时区的对不对,比如说北京时间0点,切换中国的日期。那如果你在日本的话,你是不是按照日本的0点来进行时间上的切换?他们中间差了1个小时哦,我说的一天,跟你在日本说的一天,已经差了一个小时了哦,如果我们把17号这个概念对应到这两个时区里边,他们去掉重叠的时间部分,其实已经是25个小时了。

换句话说,当你提及17号的时候,其实,你最多能在25个小时内提到今天是17号,那我们在扩大一下这个概念,当你现在是UTC时间的17号,他是24小时,当你往东移动一个时区,那么17号所代表的时间就会增加1小时,这样的兄弟东边还有11个,西边还有12个,这么算下来,其实你一共有49个小时说今天是17号?其实是48,因为+12 -12 是重叠的,理论上你可以认为他只能选一边,纯数学上来看的话,他们应该是中心左边跟右边,也就是 这个特殊的时区只有半个小时,当然实际情况要比这个复杂一点。

有点难理解是不是,其实我们可以借助工具来验证一下这个说法。

怎么验证呢?我们从UTC+12 的0点到 24点,然后从UTC-12 的0点到24点,然后取他们的最大值,看看总共的时长究竟有多少。

http://time.syiban.com/zhshiqu.html

看一下这个小工具

图片

这个是UTC+12 的开始时间 也就是 UTC时间的 2025/12/16 12:00:00

图片

这个是UTC+12 的结束时间 也就是 UTC时间的 2025/12/17 12:00:00

图片

这个是UTC-12 的开始时间 也就是 UTC时间的 2025/12/17 12:00:00

图片

这个是UTC-12 的结束时间 也就是 UTC时间的 2025/12/18 12:00:00

我们取所有时间的最小值 也 就是 2025/12/16 12:00:00 到最大值 也就是 2025/12/18 12:00:00

也就是2天,刚好48小时

一共有25个时区,其实跟意义上的一天24个小时,每个时区相差一个小时的通俗概念上来说说稍微有点不太一样,其实有25个时区,是UTC 时区 东经、西经各12个时区,所以一共有25个时区,那一天24个小时是怎么分出来25个时区呢?其实东12跟西12其实物理上是重叠的区域,也就是说,他们去掉日期只对比时间的话,其实是一样的,但是他们的日期缺整整相差了一天,也就是24小时。

既然你能理解,他们的时间相同但是他们的日期不同的概念的话,我们可以再举个详细一点的例子。

图片

假设这里的A点是 UTC+12时区、B点事UTC-12时区,他们几乎是在同一个经度上,他们观察太阳几乎是一样的,但是他们两个差了整整一天。

那么,这个时候A点上的小a要请17号一整天的假,在B点上的小b是一个考勤管理员,从他本地时间删过来看,他会发现,Wow小a请了17号的假,但是小a 16号翘班了,17号反而来上班了。

这种问题,如果强制使用17号一天的概念统一全球,那么这个问题将无法调和。

所以,为了解决这个问题,应该如下处理:

1、如果当前时区内的时间一切如常处理,概念没有冲突

2、显示时间应该以当前用户人的时间为准,保留原始时间、原始时区概念

3、真正落库的时间使用标准化时间(不一定是UTC时间,时间就是时间而已,他只是一个时间点,UTC也好,东八也好,只是这个时间点的某一种表现形式),展示的时候再转换为需要的时间

4、如果跨时区了,如果觉得表现困难,那可以考虑跨时区的时候是时间段,本时区的时候才表现一

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/21 9:48:53

【完整源码+数据集+部署教程】论文内容分类与检测系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

一、背景意义 随着信息技术的迅猛发展,学术论文的数量和复杂性不断增加,如何高效地对论文内容进行分类与检测已成为一个亟待解决的问题。传统的人工分类方法不仅耗时耗力,而且容易受到主观因素的影响,导致分类结果的不一致性和准确…

作者头像 李华
网站建设 2026/3/27 17:55:09

如何快速搭建电商产品评分系统:Start Bootstrap模板实战指南

在当今竞争激烈的电商市场中,用户评价和评分系统已成为影响购买决策的关键因素。Start Bootstrap电商模板提供了专业且易于集成的评分组件,让你能够在短时间内为产品页面添加完整的用户反馈收集功能。这套开源解决方案特别适合前端开发新手和需要快速上线…

作者头像 李华
网站建设 2026/3/31 7:07:51

16、深入了解psad:从DShield报告到主动响应

深入了解psad:从DShield报告到主动响应 1. DShield报告系统简介 DShield分布式入侵检测系统(http://www.dshield.org )是收集和报告安全事件数据的重要工具。它作为一个集中的数据仓库,接收来自开源和商业软件(如入侵检测系统、路由器和防火墙)提供的数据。许多相关产品…

作者头像 李华
网站建设 2026/3/23 22:55:00

28、端口敲门与单包授权技术的安全性及fwknop应用解析

端口敲门与单包授权技术的安全性及fwknop应用解析 1. 模糊安全争议:端口敲门与SPA是否属于模糊安全技术 在网络安全领域,端口敲门(Port Knocking)和单包授权(Single Packet Authorization,SPA)是否属于模糊安全(Security Through Obscurity)技术一直是备受争议的话题…

作者头像 李华
网站建设 2026/3/22 19:12:28

30、实用脚本编程技巧与示例

实用脚本编程技巧与示例 在脚本编程领域,有许多实用的技巧和程序可以帮助我们更高效地处理各种任务。下面将详细介绍几个不同功能的脚本程序,包括定时提醒、字符转写、打印邮寄标签、统计单词使用频率、去除未排序文本中的重复项以及从 Texinfo 源文件中提取程序等。 1. 定…

作者头像 李华
网站建设 2026/3/26 22:51:49

36、深入了解gawk调试器及算术运算特性

深入了解gawk调试器及算术运算特性 1. gawk调试器的局限性 gawk调试器虽然实用且有趣,但仍存在一些局限性,值得我们关注: - 错误提示不详细 :当输入调试器不认可的内容时,它仅返回“语法错误”,不会详细解释错误原因。不过,当你最终找出错误时,会有很强的成就感。 …

作者头像 李华