Javascript 一句话获得农历

2020-09-10 18:51:43 +08:00
 est

今天看到有人说 Intl 这个 ECMAscript 内置对象,就翻了一下,发现可以一句话算农历。

new Date().toLocaleString('zh-CN-u-ca-chinese').replace(/(\d+)年 /, (_,y)=>"甲乙丙丁戊己庚辛壬癸".charAt((y-4)%10) + "子丑寅卯辰巳午未申酉戌亥".charAt((y-4)%12))

大家还有更简单或者更短的办法么。交流一下。

7713 次点击
所在节点    JavaScript
43 条回复
honjow
2020-09-10 19:26:53 +08:00
只是年吗?
est
2020-09-10 19:58:23 +08:00
@honjow 月 日 也有的
LiuJiang
2020-09-10 20:30:12 +08:00
这个方法不错,收藏了。
ccccccc
2020-09-10 20:36:32 +08:00
好像不大行?

new Date().toLocaleString('zh-CN-u-ca-chinese').replace(/(\d+)年 /, (_,y)=>"甲乙丙丁戊己庚辛壬癸".charAt((y-4)%10) + "子丑寅卯辰巳午未申酉戌亥".charAt((y-4)%12))
"2020 年七月 23 下午 8:34:56"
new Date().toLocaleString('zh-CN-u-ca-chinese')
"2020 年七月 23 下午 8:35:21"
Mutoo
2020-09-10 20:50:53 +08:00
new Date().toLocaleString('zh-u-ca-chinese-nu-hanidec')
"二〇二〇年七月二三 下午一〇:五〇:三六"
est
2020-09-10 22:36:38 +08:00
@ccccccc 正则里处理一下空格。估计你本地设置了日期格式。

new Date().toLocaleString('zh-CN-u-ca-chinese').replace(/(\d+)\s*?年 /, (_,y)=>"甲乙丙丁戊己庚辛壬癸".charAt((y-4)%10) + "子丑寅卯辰巳午未申酉戌亥".charAt((y-4)%12))
em2046
2020-09-10 22:41:04 +08:00
@Mutoo Safari 为
"三七 /七 /二三 下午一〇:三七:三五"
est
2020-09-10 22:42:52 +08:00
@em2046 37 这个我也遇到过。可以把两个 charAt 里的 -4 改成 -1 。。正则再调整一下。蛤蛤蛤蛤
unicloud
2020-09-10 22:46:07 +08:00
还有这种操作?
sarvatathagata
2020-09-10 22:54:20 +08:00
@est 其实压根就不用正则的,直接 new Date().toLocaleString('ja-JP-u-ca-chinese')就可以了
galikeoy
2020-09-10 23:00:47 +08:00
@sarvatathagata #10 哈哈哈哈哈哈 楼主尴尬了
w3cfed
2020-09-10 23:03:25 +08:00
@sarvatathagata 秀丫。收藏了。
est
2020-09-10 23:35:49 +08:00
@sarvatathagata 你。。。作弊!
baobao1270
2020-09-11 00:25:52 +08:00
ICU 这个工具是个宝
但是这个也需要浏览器支持吧

IE 11 是这样表现的:
new Date().toLocaleString('zh-CN-u-ca-chinese')
"‎2020‎年‎9‎月‎11‎日‎ ‎0‎:‎23‎:‎19"

感觉农历很麻烦的一点在于,它是需要结合天文观测测算的。而 ICU 的推算注定是不准的,因为其基准的时间戳是无法与农历用公式对应的。
x86
2020-09-11 00:28:49 +08:00
长知识了,太秀了
hlwjia
2020-09-11 01:10:12 +08:00
如果楼主是一句话获得农历,那 @sarvatathagata 的就是“半句话获得农历”了
ericgui
2020-09-11 01:18:06 +08:00
看了你的博客,似乎标准库的工作量还是非常大的
AmrtaShiva
2020-09-11 08:00:20 +08:00
你能算出农历日来?
Doracis
2020-09-11 08:48:42 +08:00
你这个头像和施瓦辛格的头像好像,果然猛男都是喜欢粉色吗。。
est
2020-09-11 08:52:21 +08:00
@Doracis 你被奇怪的东西吸引了。。。。

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

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

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

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

© 2021 V2EX