今天看到有人说 Intl 这个 ECMAscript 内置对象,就翻了一下,发现可以一句话算农历。
new Date().toLocaleString('zh-CN-u-ca-chinese').replace(/(\d+)年 /, (_,y)=>"甲乙丙丁戊己庚辛壬癸".charAt((y-4)%10) + "子丑寅卯辰巳午未申酉戌亥".charAt((y-4)%12))
大家还有更简单或者更短的办法么。交流一下。
只是年吗?
月 日 也有的
这个方法不错,收藏了。
好像不大行?
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"
new Date().toLocaleString('zh-u-ca-chinese-nu-hanidec')
"二〇二〇年七月二三 下午一〇:五〇:三六"
正则里处理一下空格。估计你本地设置了日期格式。
new Date().toLocaleString('zh-CN-u-ca-chinese').replace(/(\d+)\s*?年 /, (_,y)=>"甲乙丙丁戊己庚辛壬癸".charAt((y-4)%10) + "子丑寅卯辰巳午未申酉戌亥".charAt((y-4)%12))
Safari 为
"三七 /七 /二三 下午一〇:三七:三五"
37 这个我也遇到过。可以把两个 charAt 里的 -4 改成 -1 。。正则再调整一下。蛤蛤蛤蛤
还有这种操作?
其实压根就不用正则的,直接 new Date().toLocaleString('ja-JP-u-ca-chinese')就可以了
哈哈哈哈哈哈 楼主尴尬了
秀丫。收藏了。
你。。。作弊!
ICU 这个工具是个宝
但是这个也需要浏览器支持吧
IE 11 是这样表现的:
new Date().toLocaleString('zh-CN-u-ca-chinese')
"2020年9月11日 0:23:19"
感觉农历很麻烦的一点在于,它是需要结合天文观测测算的。而 ICU 的推算注定是不准的,因为其基准的时间戳是无法与农历用公式对应的。
长知识了,太秀了
如果楼主是一句话获得农历,那 的就是“半句话获得农历”了
看了你的博客,似乎标准库的工作量还是非常大的
你能算出农历日来?
你这个头像和施瓦辛格的头像好像,果然猛男都是喜欢粉色吗。。
你被奇怪的东西吸引了。。。。
用 fetch 不好吗啊(手动狗头
为什么是「 ja-JP 」呢?这不是日本的意思吗