跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Javascript 一句话获得农历
未分類
16 9 月 2020

Javascript 一句话获得农历

Javascript 一句话获得农历

資深大佬 : est 8

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

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

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

大佬有話說 (43)

  • 資深大佬 : honjow

    只是年吗?

  • 主 資深大佬 : est

    @honjow 月 日 也有的

  • 資深大佬 : LiuJiang

    这个方法不错,收藏了。

  • 資深大佬 : ccccccc

    好像不大行?

    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

    new Date().toLocaleString(‘zh-u-ca-chinese-nu-hanidec’)
    “二〇二〇年七月二三 下午一〇:五〇:三六”

  • 主 資深大佬 : est

    @ccccccc 正则里处理一下空格。估计你本地设置了日期格式。

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

  • 資深大佬 : em2046

    @Mutoo Safari 为
    “三七 /七 /二三 下午一〇:三七:三五”

  • 主 資深大佬 : est

    @em2046 37 这个我也遇到过。可以把两个 charAt 里的 -4 改成 -1 。。正则再调整一下。蛤蛤蛤蛤

  • 資深大佬 : unicloud

    还有这种操作?

  • 資深大佬 : sarvatathagata

    @est 其实压根就不用正则的,直接 new Date().toLocaleString(‘ja-JP-u-ca-chinese’)就可以了

  • 資深大佬 : galikeoy

    @sarvatathagata #10 哈哈哈哈哈哈 主尴尬了

  • 資深大佬 : w3cfed

    @sarvatathagata 秀丫。收藏了。

  • 主 資深大佬 : est

    @sarvatathagata 你。。。作弊!

  • 資深大佬 : baobao1270

    ICU 这个工具是个宝
    但是这个也需要浏览器支持吧

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

    感觉农历很麻烦的一点在于,它是需要结合天文观测测算的。而 ICU 的推算注定是不准的,因为其基准的时间戳是无法与农历用公式对应的。

  • 資深大佬 : x86

    长知识了,太秀了

  • 資深大佬 : hlwjia

    如果主是一句话获得农历,那 @sarvatathagata 的就是“半句话获得农历”了

  • 資深大佬 : ericgui

    看了你的博客,似乎标准库的工作量还是非常大的

  • 資深大佬 : AmrtaShiva

    你能算出农历日来?

  • 資深大佬 : Doracis

    你这个头像和施瓦辛格的头像好像,果然猛男都是喜欢粉色吗。。

  • 主 資深大佬 : est

    @Doracis 你被奇怪的东西吸引了。。。。

  • 資深大佬 : flowfire

    用 fetch 不好吗啊(手动狗头

  • 資深大佬 : chotow

    为什么是「 ja-JP 」呢?这不是日本的意思吗

  • 資深大佬 : LeemengG

    @chotow 估计是日本人现在某些场景也提供 农历 的选项

  • 資深大佬 : en20

    @LeemengG 日本不是用 令和 x 年 吗

  • 資深大佬 : no1xsyzy

    @sarvatathagata 但是相应地丢掉了腊月和正月…… 以及闰月的 “闰” 字变繁体

  • 資深大佬 : hahastudio

    说起来,闰月还是每年通过紫金山天文台定的么

  • 資深大佬 : DsuineGP

    话说 “九月第二周的周五” 这个在 js 里面怎么方便的实现啊

  • 資深大佬 : 2351988538

    农历是没有规律的没办法算

  • 資深大佬 : Guidoo

    博客的风格挺喜欢的, 有 github 地址吗 嘿嘿

  • 資深大佬 : no1xsyzy

    @en20 这里指定了 ca-chinese,或者说等价于在 options 里面填入 {calendar: ‘chinese’}
    即是指定了采用传统农历

    相应地,如果是 ja-JP-u-ca-japanese 则采用令和。不过默认的 era 属性为 narrow,导致令和显示为 `R`,需要手动指定 options 里的 {era: ‘long’} 或者 {era: ‘short’}

  • 資深大佬 : cjc2017

    涨姿势了

  • 主 資深大佬 : est

    @Guidoo https://github.com/est/

  • 主 資深大佬 : est

    @DsuineGP 找个日期库什么的吧。。这个帮不了。

  • 資深大佬 : zhw2590582

    666

  • 資深大佬 : xutao881

    有点意思啊这个

  • 資深大佬 : hgjian

    推荐给大家一个库:
    https://blog.jjonline.cn/userInterFace/173.html
    我的网站顶部用的是这个:
    https://www.bas369.com

  • 資深大佬 : zyc63959

    请教下各位,这个里面节气是怎么用的?

  • 資深大佬 : veveue

    Linux x86_64 不行

  • 主 資深大佬 : est

    @veveue 兄弟这个是啥浏览器?版本要新一点的才支持。nodejs 的 v8 版本也太低不支持的。

  • 主 資深大佬 : est

    @zyc63959 节气可以在 icu 里调出来,js 的日期对象估计调不出来

  • 資深大佬 : mikukonai

    感谢分享

  • 資深大佬 : gromit1337

    主博客啥模版?想抄

  • 主 資深大佬 : est

    @gromit1337 https://github.com/est/aether-pelican 改编自 https://github.com/josephhutch/aether

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具