web 开发涉及到时间的是一律使用 utc 时间吗?

2016-07-21 15:26:34 +08:00
 myyou
8326 次点击
所在节点    Python
61 条回复
julyclyde
2016-07-21 16:31:35 +08:00
保存的时候应该用 UTC ,但似乎很少有遵守的
展现的时候当然要本地化了
haozhang
2016-07-21 16:34:04 +08:00
保存全部使用 utc 我觉得的是最佳方案,取值转换成 local time 即可
cevincheung
2016-07-21 16:43:03 +08:00
为什么就不能存时间戳。
myyou
2016-07-21 17:05:35 +08:00
@julyclyde
@haozhang
如果存储字符呢,例如: 2016-07-21 这样的格式,也要存成 utc 吗?
pubby
2016-07-21 17:07:16 +08:00
一律使用同一个时区,所有机器 NTP 对时,时区设置相同即可
skydiver
2016-07-21 17:08:40 +08:00
一律使用 unix 时间戳
myyou
2016-07-21 17:20:59 +08:00
@skydiver 一般不存 datetime 之类的时间吗?
imnpc
2016-07-21 17:23:05 +08:00
只建议用 unix 时间戳...
myyou
2016-07-21 17:28:11 +08:00
@imnpc 如果涉及到个人生日呢?
myyou
2016-07-21 17:30:14 +08:00
@cevincheung 如果涉及到个人生日呢?
imnpc
2016-07-21 17:31:25 +08:00
@myyou
个人生日那些随便存啊
一般按照简单的 datatime 就可以或者纯文本

时间戳使用在各种计算比较上的 比较方便
myyou
2016-07-21 17:35:00 +08:00
@cevincheung
@imnpc
@skydiver
还有 unix 时间戳截止日期不是 2038 年吗?
cevincheung
2016-07-21 17:37:26 +08:00
@myyou
date --date='@32472119461'

看看输出啥。 233333
myyou
2016-07-21 17:40:17 +08:00
@cevincheung 64 位 ubuntu 14.04 输出这个: Tue Jan 1 01:11:01 CST 2999
cevincheung
2016-07-21 17:45:43 +08:00
@myyou 对啊。
haozhang
2016-07-21 18:05:16 +08:00
@myyou 这肯定不对啊,日期不是同一天的时区怎么办?
loading
2016-07-21 18:32:58 +08:00
unix 时间是从 1970 年 01 月 01 日 0:00:00 起算,用的是 utc 时区,所以也可以理解是另一种 utc 时间。
2038 年是 32 位长度带来的精度问题,这个问题不同于千年虫问题。千年虫是判断 2000 年是闰年,少了一个判断,是代码错误。
64 位的 unix 时间够用了,而且现在大家其实都在用了。
loading
2016-07-21 18:36:15 +08:00
@haozhang unix 时间用的是 utc 时间
haozhang
2016-07-21 18:50:23 +08:00
@loading 我说的东西和 unix 用不用 utc 时间有什么关系...
loading
2016-07-21 19:22:10 +08:00
@haozhang 你不是说时区吗? utc 与格林威治时间 gmt 可以几乎认为相等。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/293957

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX