T********i 发帖数: 2416 | 1 这两个重要的物理量。从有电脑开始一直折腾到现在。离完美还差了很远。
历史上monotonic clock的坑你想不到整个行业都能傻逼到跳了多少年。这些以后再说。
今天说说timezone。这玩意儿直到现在,主流的处理手法还是屎一样。2008我发现
Microsoft Windows自带的timezone database还行,就给扒下来,写了C++/Java/
Javascript/swift/golang wrapper一直用到现在。
最近发布在即,还是决定切换回Linux的tz database。这玩意儿是Arthur David Olson
一直单枪匹马在维护,知道2011年他退休,转给IANA接手。这个工作直接影响几十亿人
,俗称Olson数据库。光相关的RFC就好几个。
这是给Olson的感谢信。
https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-
olsonzoneinfotz-database/
即使如此,基于历史现实原因,主流处理还是屎一样。比如你看看Java的相关类库。
昨天又发现一个神人Howard Hinnant,主攻C++的时间相关实现,包括timezone。相关
工作已经被表决到C++20的标准里面。
果断引用,顺便还帮他改了一个小bug。
这些人,穷极一生,深耕一个狭小的领域,润物细无声地深入成千上万人的生活。微斯
人,吾谁与归? |
T********i 发帖数: 2416 | |
g****t 发帖数: 31659 | 3 这个东西的难点在哪里?是不是和地理区域划分还有关系,那么应该有不少知识产权壁
垒。
一般人恐怕干不了,搞不好会被起诉。
说。
Olson
【在 T********i 的大作中提到】 : 这两个重要的物理量。从有电脑开始一直折腾到现在。离完美还差了很远。 : 历史上monotonic clock的坑你想不到整个行业都能傻逼到跳了多少年。这些以后再说。 : 今天说说timezone。这玩意儿直到现在,主流的处理手法还是屎一样。2008我发现 : Microsoft Windows自带的timezone database还行,就给扒下来,写了C++/Java/ : Javascript/swift/golang wrapper一直用到现在。 : 最近发布在即,还是决定切换回Linux的tz database。这玩意儿是Arthur David Olson : 一直单枪匹马在维护,知道2011年他退休,转给IANA接手。这个工作直接影响几十亿人 : ,俗称Olson数据库。光相关的RFC就好几个。 : 这是给Olson的感谢信。 : https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-
|
c******n 发帖数: 16666 | 4 特例特别多
比如某某国家在某个时段用的是某个时制 后来政权变更 换了一个
这玩意儿可以算是个fulltime job 一般人用现成的算了
【在 g****t 的大作中提到】 : 这个东西的难点在哪里?是不是和地理区域划分还有关系,那么应该有不少知识产权壁 : 垒。 : 一般人恐怕干不了,搞不好会被起诉。 : : 说。 : Olson
|
r****t 发帖数: 10904 | 5 > 这些人,穷极一生,深耕一个狭小的领域,润物细无声地深入成千上万人的生活。微斯
> 人,吾谁与归?
大部分科学家做的工作都符合这个标准,但不是每个人都得这样吧。
他这样基本无法抓住这个工作产生的价值,是崇高的共产主义战士,但不能沾到市场的边
说。
Olson
【在 T********i 的大作中提到】 : 这两个重要的物理量。从有电脑开始一直折腾到现在。离完美还差了很远。 : 历史上monotonic clock的坑你想不到整个行业都能傻逼到跳了多少年。这些以后再说。 : 今天说说timezone。这玩意儿直到现在,主流的处理手法还是屎一样。2008我发现 : Microsoft Windows自带的timezone database还行,就给扒下来,写了C++/Java/ : Javascript/swift/golang wrapper一直用到现在。 : 最近发布在即,还是决定切换回Linux的tz database。这玩意儿是Arthur David Olson : 一直单枪匹马在维护,知道2011年他退休,转给IANA接手。这个工作直接影响几十亿人 : ,俗称Olson数据库。光相关的RFC就好几个。 : 这是给Olson的感谢信。 : https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-
|
r****t 发帖数: 10904 | 6 > 这些人,穷极一生,深耕一个狭小的领域,润物细无声地深入成千上万人的生活。微斯
> 人,吾谁与归?
大部分科学家做的工作都符合这个标准,但不是每个人都得这样吧。
他这样基本无法抓住这个工作产生的价值,是崇高的共产主义战士,但不能沾到市场的边
说。
Olson
【在 T********i 的大作中提到】 : 这两个重要的物理量。从有电脑开始一直折腾到现在。离完美还差了很远。 : 历史上monotonic clock的坑你想不到整个行业都能傻逼到跳了多少年。这些以后再说。 : 今天说说timezone。这玩意儿直到现在,主流的处理手法还是屎一样。2008我发现 : Microsoft Windows自带的timezone database还行,就给扒下来,写了C++/Java/ : Javascript/swift/golang wrapper一直用到现在。 : 最近发布在即,还是决定切换回Linux的tz database。这玩意儿是Arthur David Olson : 一直单枪匹马在维护,知道2011年他退休,转给IANA接手。这个工作直接影响几十亿人 : ,俗称Olson数据库。光相关的RFC就好几个。 : 这是给Olson的感谢信。 : https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-
|
h******k 发帖数: 810 | 7 看过一个趣味问题:美国大西洋岸边某州和太平洋岸边某州local time是一样的,这可
能吗? |
s********k 发帖数: 6180 | 8 java那个OO设计perfect的datetime搞成不是threadsafe
基础设施还真不那么容易
说。
Olson
【在 T********i 的大作中提到】 : 这两个重要的物理量。从有电脑开始一直折腾到现在。离完美还差了很远。 : 历史上monotonic clock的坑你想不到整个行业都能傻逼到跳了多少年。这些以后再说。 : 今天说说timezone。这玩意儿直到现在,主流的处理手法还是屎一样。2008我发现 : Microsoft Windows自带的timezone database还行,就给扒下来,写了C++/Java/ : Javascript/swift/golang wrapper一直用到现在。 : 最近发布在即,还是决定切换回Linux的tz database。这玩意儿是Arthur David Olson : 一直单枪匹马在维护,知道2011年他退休,转给IANA接手。这个工作直接影响几十亿人 : ,俗称Olson数据库。光相关的RFC就好几个。 : 这是给Olson的感谢信。 : https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-
|
g****t 发帖数: 31659 | 9 "
Another advantage is that all time representations in Java 8 Date Time API
are immutable and thus thread-safe. All mutating methods return a new copy
instead of modifying state of the original object. Old classes such as java.
util.Date were not thread-safe and could introduce very subtle concurrency
bugs.
"
【在 s********k 的大作中提到】 : java那个OO设计perfect的datetime搞成不是threadsafe : 基础设施还真不那么容易 : : 说。 : Olson
|
b*******s 发帖数: 5216 | 10 比较头疼的,比如有1/2甚至1/4时区的,同经度时区不一样的,有各种夏令时而且每年
开始日期都不一样的
然后各区之间换算也很麻烦
【在 g****t 的大作中提到】 : 这个东西的难点在哪里?是不是和地理区域划分还有关系,那么应该有不少知识产权壁 : 垒。 : 一般人恐怕干不了,搞不好会被起诉。 : : 说。 : Olson
|
|
|
g****t 发帖数: 31659 | 11 Java的好处是社区庞大。
corner cases网上容易找到解答。
这点对散户很重要.
【在 b*******s 的大作中提到】 : 比较头疼的,比如有1/2甚至1/4时区的,同经度时区不一样的,有各种夏令时而且每年 : 开始日期都不一样的 : 然后各区之间换算也很麻烦
|
T********i 发帖数: 2416 | 12 从这个datetime就能看出java的没有廉耻。
任何智商正常的,都应该知道datetime应该做成什么样。
1. 构造,年月日时分秒等等能正常构造
2. 分解,一个时间能简单地分解才年月日时分秒星期等
3. 精度,至少毫秒,应达到纳秒
4. UTC和local的正常转换。local应该显示用。内部全用UTC
就这几条,.net 2001年做到的,Java这么多年做到了多少?
还他妈逼的社区庞大。上上下下都是傻逼一坨屎。 |
T********i 发帖数: 2416 | 13 Java现在还是不及格的。就说这个timezone,我有需要显示localtime的需求。我的智
能遥控器和控温器都带屏幕,要能够显示时间。定期通过无线协议查询中控的time
server。
问题是,不可能一直不停地查询。只能不定期地比如几小时查询一次。因此在夏令时转
换的时候,设备应该自动转换offset才行。因此应该知道当年和下一个规则,已经规则
转换时间。
这些,.net能做。我自己的库能做,这个c 的库也有考虑。Java那个傻逼封装就算了。 |
T********i 发帖数: 2416 | 14 不要小看这个时间。苹果手机是闹钟软件搞砸几次了?夏令时调整抓不住,该闹的时候
不闹。 |
p***o 发帖数: 1252 | 15 Java8之前没人用自带的datetime吧,都是用joda那个库。
Java8的实现都是照joda来的。
【在 T********i 的大作中提到】 : 从这个datetime就能看出java的没有廉耻。 : 任何智商正常的,都应该知道datetime应该做成什么样。 : 1. 构造,年月日时分秒等等能正常构造 : 2. 分解,一个时间能简单地分解才年月日时分秒星期等 : 3. 精度,至少毫秒,应达到纳秒 : 4. UTC和local的正常转换。local应该显示用。内部全用UTC : 就这几条,.net 2001年做到的,Java这么多年做到了多少? : 还他妈逼的社区庞大。上上下下都是傻逼一坨屎。
|
T********i 发帖数: 2416 | 16 Java8的实现也不及格。理由我已经说了。
: Java8之前没人用自带的datetime吧,都是用joda那个库。
: Java8的实现都是照joda来的。
【在 p***o 的大作中提到】 : Java8之前没人用自带的datetime吧,都是用joda那个库。 : Java8的实现都是照joda来的。
|
c******g 发帖数: 4889 | 17 难度看看这个视频就明白了:
https://www.youtube.com/watch?v=-5wpm-gesOY
【在 g****t 的大作中提到】 : 这个东西的难点在哪里?是不是和地理区域划分还有关系,那么应该有不少知识产权壁 : 垒。 : 一般人恐怕干不了,搞不好会被起诉。 : : 说。 : Olson
|
g****t 发帖数: 31659 | 18 捏着鼻子用吧。地球上二十亿部Android设备。你怎么办。ignore mobile ?
ad hoc的办法,reactive,flutter什么的不可能是较长期的解决办法,不适合老年人
。
Sun那本java programming language书上说,你当然可以用浮点数,整数什么的写程序,
但那只是程序世界的一小部分。这个就是java的根本。
设计的人对基本的算术看不上.不是解决问题,而是分散问题
【在 T********i 的大作中提到】 : 从这个datetime就能看出java的没有廉耻。 : 任何智商正常的,都应该知道datetime应该做成什么样。 : 1. 构造,年月日时分秒等等能正常构造 : 2. 分解,一个时间能简单地分解才年月日时分秒星期等 : 3. 精度,至少毫秒,应达到纳秒 : 4. UTC和local的正常转换。local应该显示用。内部全用UTC : 就这几条,.net 2001年做到的,Java这么多年做到了多少? : 还他妈逼的社区庞大。上上下下都是傻逼一坨屎。
|
b***i 发帖数: 3043 | 19 HH发明了Unique Pointer,给C++加入了很多很重要的概念。
我的近期理想就是成为Howard这个级别的,世界级专家。
说。
Olson
【在 T********i 的大作中提到】 : 这两个重要的物理量。从有电脑开始一直折腾到现在。离完美还差了很远。 : 历史上monotonic clock的坑你想不到整个行业都能傻逼到跳了多少年。这些以后再说。 : 今天说说timezone。这玩意儿直到现在,主流的处理手法还是屎一样。2008我发现 : Microsoft Windows自带的timezone database还行,就给扒下来,写了C++/Java/ : Javascript/swift/golang wrapper一直用到现在。 : 最近发布在即,还是决定切换回Linux的tz database。这玩意儿是Arthur David Olson : 一直单枪匹马在维护,知道2011年他退休,转给IANA接手。这个工作直接影响几十亿人 : ,俗称Olson数据库。光相关的RFC就好几个。 : 这是给Olson的感谢信。 : https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-
|
x****u 发帖数: 44466 | 20 你这个搞法从根子上就不对
datetime怎么算要听os的,出了问题直接让os打个补丁,自己算是邪路
L10N的东西国际组织开个会就全变了,朝鲜金大帅一声令下,时钟前进后退30分钟完全
不可预测
说。
Olson
【在 T********i 的大作中提到】 : 这两个重要的物理量。从有电脑开始一直折腾到现在。离完美还差了很远。 : 历史上monotonic clock的坑你想不到整个行业都能傻逼到跳了多少年。这些以后再说。 : 今天说说timezone。这玩意儿直到现在,主流的处理手法还是屎一样。2008我发现 : Microsoft Windows自带的timezone database还行,就给扒下来,写了C++/Java/ : Javascript/swift/golang wrapper一直用到现在。 : 最近发布在即,还是决定切换回Linux的tz database。这玩意儿是Arthur David Olson : 一直单枪匹马在维护,知道2011年他退休,转给IANA接手。这个工作直接影响几十亿人 : ,俗称Olson数据库。光相关的RFC就好几个。 : 这是给Olson的感谢信。 : https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-
|
|
|
T********i 发帖数: 2416 | 21 您的脑回路确实清奇。
OS是给人用的。用户要用当地时间。这事儿你说了不算。几乎每个人都需要的功能,OS
不干,难道让每个程序员自己干?
你那个理由根本站不住脚。not even wrong。。。
【在 x****u 的大作中提到】 : 你这个搞法从根子上就不对 : datetime怎么算要听os的,出了问题直接让os打个补丁,自己算是邪路 : L10N的东西国际组织开个会就全变了,朝鲜金大帅一声令下,时钟前进后退30分钟完全 : 不可预测 : : 说。 : Olson
|
m*****n 发帖数: 3575 | 22 问题在于Windows自己有用Local
现在我要装双系统,还要Linux听Windows的 |
p*u 发帖数: 2454 | 23 呵呵,小解同学脑袋以前应该是被门夹过。
OS
【在 T********i 的大作中提到】 : 您的脑回路确实清奇。 : OS是给人用的。用户要用当地时间。这事儿你说了不算。几乎每个人都需要的功能,OS : 不干,难道让每个程序员自己干? : 你那个理由根本站不住脚。not even wrong。。。
|