V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Sponsored by
LinkedIn
不坐班的神仙工作 · 去任何你想去的地方远程,赚一线城市的工资
2000 个不用出门 Social 的全球远程工作,帮助 V2EX 的小伙伴开启全新的工作方式。
Promoted by LinkedIn
jackyin
V2EX  ›  分享创造

从做了个倒数日小助手,到了解农历(农历≠阴历) | 附永久码

  •  
  •   jackyin · 41 天前 · 3542 次点击
    这是一个创建于 41 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前,一直以为农历和阴历是一回事。

    在做这个倒数日小助手的时候,为了支持农历,查了一些农历的知识,发现它俩原来不是一回事儿.

    趁此机会,简单写一下,加深下自己的理解,知识这种东西,写一遍就会加深自己的学习效果,写的过程,自己就得努力把知识捋一下。所以这段时间在学习 SwiftUI 的过程中,就是多写 App 。

    开发时,在寻找支持农历途径的过程中,发现 SwiftUI 里 DatePicker 是可以指定不同的历法的,而且还不少,标准的 iso8601 ,中国的 chinese ,甚至还是民国的 republicOfChina ,还有印度的 indian ,还有很多,原来这世界上有这么多历法,也就是说,如果要做一个全球通用的小日历,很不简单。

    历法很多,但计算的过程大多离不开日月转动规律(在那个年代,日月都是围绕地球转的)。以太阳转动为基础的历法叫阳历,以月亮转动为基础的历法的叫阴历。

    首先来讲讲阳历,阳历中的 1 年就是地球绕太阳一圈,使用阳历可区分一年四季,阳历可指导农业生产。由于计算阳历跟月亮无关,所以看阳历时间是知不道月圆的。

    再说阴历,阴历就是根据月亮的圆缺来计算的。由于计算阴历跟太阳无关,所以只看阴历是无法区分一年四季的,也无法指导农业生产。

    最后说说农历,农历不仅可以区分一年四季,还可知晓月圆,很强大,同时也很复杂,我在查资料的过程中发现,微软、苹果都有过将农历算错的 Bug 。

    既然农历,又知四季,又晓月圆,如此农历又可被称作阴阳历。那么农历又是如何将阳历与阴历结合的呢?

    首先,我们在阳历上使用了节气,用立春、立夏、立秋、立冬来区分四季,然后再进行均分,得出二十四节气,以此作为农业生产依据。

    然后,我们又在阴历上使用月亮圆缺来记日子。

    不知道大家有没有发现,中国的好多节日用的是阴历,比如春节正月初一、端午五月初五、七夕七月初七,但有个节日比较特殊,就是清明节,它其实是一个节气,节气是用的阳历,所以清明节对应的公历时间在 4 月 5 号左右。

    二十四节气中有个比较特殊的节气,就是小满,因为小暑、小雪、小寒都有对应的大暑、大雪、大寒,只有小满,没有大满,大满则溢,所有小满即可。中国人在表达幸福的时候喜欢加个“小”字,比如小幸福、小确幸、小甜蜜、小美好,这不仅是人们对当下幸福的满足,也许也带有害怕失去幸福的忧心在里面吧。

    在使用 SwiftUI 的 DatePicker 时,还遇到了另一个奇怪的问题,就是农历的年份永远是 1 到 60 ,经查资料,农历的年份的确只有 1 到 60 ,60 年为一甲子,由十天干(甲、乙、丙、丁、戊、己、庚、辛、壬、癸)与十二地支(子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥)按顺序两两相配得到,今年( 2022 年)为壬寅年。

    组合一下,第一个就是甲子年,最出名的一个甲子年(公元 184 年)大家应该都听过:“苍天已死,黄天当立,岁在甲子,天下大吉”。

    下一个甲子年是公元 2044 年。

    最后介绍下我做的倒数日小助手吧,比较简单,没什么独特,就是记记重要日子,使用了 iCloud 自动云同步数据,花了几天做的,学习了下 App Groups 和 Widget 的一些知识,App 与小组件间共享数据需要用到 App Groups 。

    接下来,可能会做一个记账 App ,因为要学习下 CloudKit 多人实时共享私有数据,用家庭共同记账的使用场景来练习,理论上路线应该是对的,不知道效果如何,大概查了下资料,貌似 CloudKit 多人实时共享私有数据貌似比较麻烦,有熟悉的大佬帮忙指点一下吗?非常感谢。

    倒数日小助手

    https://apps.apple.com/cn/app/countdown-helper/id1637793913?platform=iphone

    倒数日小助手

    使用促销码的方式

    打开 App Store -> 点击右上角头像 -> 点击兑换礼品卡或代码 -> 输入代码即可。

    进入 app ,点下恢复购买就可以生效啦。

    促销码

    使用后请留言附上已使用的码,不然会导致很多人在不停的尝试无效码。

    3AYJ467YFP3X

    J79A7TNK966T

    TF3JHM6ALHA6

    H3RX9F3HFMP7

    YKAMH7M6NAKH

    X476HT743M6E

    3KJ99LNFYKN4

    9LNAA93JLMK3

    T6E94MTJ94L3

    XKA9PREX3WNY

    T7NFW36J47W7

    AJLELEXFNE4E

    3L7EAHKMANX3

    KMJAF7RWKL6E

    6RXW6WKKERWF

    9JWP99TFLPRK

    HN3P3P374XJP

    TW3P6HMT73YK

    WN7LH4XJFYFP

    7XYAJPF9PHYH

    RNPFNE9R3HLT

    7EXHMMX794JJ

    KXFY9L9Y4WK3

    MXMANHH4NLLP

    6ETFEJJNL6AL

    YKE9TWTK9P76

    J74KPEWYFAWP

    WR6YTEMWK4LT

    PRP3N7APEMXF

    EL3EMMFKRPMM

    J69LWN347NYJ

    HAF6JR6MR37A

    FTKX7WJHTA3L

    RPFL9L3PT4AH

    X9JKNH67MHW9

    9WXTRE76FNLK

    R7HPP4TRFF6T

    HYT4FM7TJWK4

    WXYTY9L473XE

    MP4PXF97TK7A

    T6FLMLPL6PLA

    F9WALPRYRY6E

    6YW9NHREWXRW

    4PWYAJHF7FEM

    4JNTYTY4NP7Y

    94RTHR3KY96K

    T34MLJHJFKYK

    FK3PKFMN9EEX

    KAM79XFEYL4Y

    MMNNRFT933LX

    RMM766WK4F7W

    363T4JAJRKNH

    LN63YX3A7EPL

    EJLX76NHFMEY

    64M7LFLETWTE

    9Y3M6K9MHMKA

    WF4XJ3TTE67M

    376H6MPE7ER4

    R3FA7LFXWEH6

    6A36RRJTRE7N

    MHY9LJFPTJLA

    7JHYF4HLKYYK

    PEYW3RWXKJRX

    4KM3MRR6F6WH

    XPYLEEPRXRK3

    TX3M77KP39YE

    T4AEXHT6PJHF

    JAN7AT3AY699

    EWEEX9JFX3LP

    JL3M4976ELLM

    KJT3EFAMAPAX

    MR9K49H6RAA3

    HYJP7K3P99RX

    XHL3KYPLY4W6

    4KE64W6WN3XW

    EYJW7PKKRF7Y

    H6TTXXXME36J

    RWAYX7YAFYXY

    J7E3XJNMTKWW

    H6XFTYHLHJ7A

    9L4AW44AX6X3

    FF33NMTW7JYT

    MTJFJ9AH33Y9

    Y3H3JM6FWTXW

    XN3T3K7J4NNJ

    WHEKFF6EXJW6

    JKJNPKK6RP7A

    9HPW93TK4M7E

    L96YY3X3F6LJ

    RER679FRMK9F

    开发者们的小世界

    创建一个独立开发者的 QQ 交流群(群号:1169775881 ),微信群 200 人就要手动添加,很是麻烦,趁此机会重新创建一个 QQ 群吧,大家可以交流交流吐槽吐槽,互相看的上的也可以一起搞搞。

    开发者们的小世界

    诸事顺遂,贵体康泰。

    72 条回复    2022-08-16 17:10:44 +08:00
    NotFoundEgg
        1
    NotFoundEgg  
       41 天前
    3AYJ467YFP3X 已使用,感谢
    RyuZheng
        2
    RyuZheng  
       41 天前
    9L4AW44AX6X3 已用,谢谢
    FEDT
        3
    FEDT  
       41 天前 via iPhone
    J79A7TNK966T 已使用,感谢
    Mryang
        4
    Mryang  
       41 天前
    4JNTYTY4NP7Y 已用
    ceno
        5
    ceno  
       41 天前
    EYJW7PKKRF7Y 已使用,感谢
    whwq2012
        6
    whwq2012  
       41 天前
    MTJFJ9AH33Y9 已使用
    scemsjyd
        7
    scemsjyd  
       41 天前
    4KE64W6WN3XW 已使用,感谢
    6364v2
        8
    6364v2  
       41 天前
    J7E3XJNMTKWW 已使用,感谢
    qiyuanshouji
        9
    qiyuanshouji  
       41 天前 via iPhone
    J74KPEWYFAWP 已使用 谢谢作者
    FEDT
        10
    FEDT  
       41 天前   ❤️ 1
    我以前一直以为二十四节气是根据农历来的,感谢科普
    Elix
        11
    Elix  
       41 天前
    MXMANHH4NLLP 已使用,谢谢
    saimax
        12
    saimax  
       41 天前 via iPhone
    H3RX9F3HFMP7 已用 谢谢
    jichangzhuanyong
        13
    jichangzhuanyong  
       41 天前 via iPhone
    我也以为农历和阴历一回事😂
    YKAMH7M6NAKH 已用,谢谢!
    520zhuzhu
        14
    520zhuzhu  
       41 天前 via iPhone
    3KJ99LNFYKN4 已用
    toneytonight
        15
    toneytonight  
       41 天前
    FF33NMTW7JYT

    已使用体验,感谢
    freeman12
        16
    freeman12  
       41 天前
    WHEKFF6EXJW6 已用
    crisrock
        17
    crisrock  
       41 天前
    KMJAF7RWKL6E 已用
    DeliMG
        18
    DeliMG  
       41 天前 via iPhone
    XN3T3K7J4NNJ
    已使用,感谢
    hytaoist
        19
    hytaoist  
       41 天前 via iPhone
    363T4JAJRKNH 已使用,感谢开发者
    Dancaw
        20
    Dancaw  
       41 天前 via iPhone
    94RTHR3KY96K 已用,谢谢🙏
    wwweng
        21
    wwweng  
       41 天前 via iPhone
    XKA9PREX3WNY 已用
    biidbiid
        22
    biidbiid  
       41 天前 via iPhone
    HAF6JR6MR37A 已用 感谢
    lockheart
        23
    lockheart  
       41 天前 via iPhone
    T6E94MTJ94L3 已用,感谢开发者
    zimingw
        24
    zimingw  
       41 天前 via iPhone
    9Y3M6K9MHMKA 已用,感谢
    sanking
        25
    sanking  
       41 天前 via iPhone
    R7HPP4TRFF6T 已用 感谢🙏
    id3day
        26
    id3day  
       41 天前 via iPhone
    EWEEX9JFX3LP 已用,谢谢开发者
    xiaweian
        27
    xiaweian  
       41 天前 via iPhone
    感谢开发者
    MHY9LJFPTJLA 已用
    yasumi
        28
    yasumi  
       41 天前 via iPhone
    JL3M4976ELLM 已用,感谢开发者
    alodaner
        29
    alodaner  
       41 天前
    KXFY9L9Y4WK3 已用 ,感谢
    MuskDu
        30
    MuskDu  
       41 天前
    JL3M4976ELLM 已用 感谢🙏
    AlphaGe
        31
    AlphaGe  
       41 天前 via iPhone
    9JWP99TFLPRK 已使用,感谢
    BlueZone1
        32
    BlueZone1  
       41 天前
    XPYLEEPRXRK3 已用,感谢
    Xylon
        33
    Xylon  
       41 天前 via iPhone
    T4AEXHT6PJHF 已用,感谢开发者
    MEOWwONE
        34
    MEOWwONE  
       41 天前 via iPhone
    YKE9TWTK9P76 已用,感谢分享!
    kalista
        35
    kalista  
       41 天前
    HN3P3P374XJP 已用,感谢分享
    jonathanchoo
        36
    jonathanchoo  
       41 天前
    XR 15.6 系统 闪退
    yipein
        37
    yipein  
       41 天前
    9WXTRE76FNLK 感谢
    dazkarieh
        38
    dazkarieh  
       41 天前
    KAM79XFEYL4Y 已用,感谢
    Kenworthy
        39
    Kenworthy  
       41 天前
    MR9K49H6RAA3 已使用,谢谢
    Dashy
        40
    Dashy  
       41 天前
    4KM3MRR6F6WH 已使用,感谢
    Dealtz
        41
    Dealtz  
       41 天前
    TW3P6HMT73YK 已用。
    我对这个也有了解,农历是阴阳历,每 19 年是一个轮回。你的十九岁农历生日就是你公历出生日期哦~
    cheese
        42
    cheese  
       41 天前
    懒得试了,没想到 v 站也有这么多拿了码一句话不说的。祝楼主 app 大卖
    jackyin
        43
    jackyin  
    OP
       41 天前
    @jonathanchoo 感谢反馈,我再找找问题哈~
    jackyin
        44
    jackyin  
    OP
       41 天前
    @FEDT 二十四节气是根据阳历计算的,但仍属于农历范围(阴阳历),只是不属于阴历。
    jackyin
        45
    jackyin  
    OP
       41 天前
    @cheese 非常感谢~ 偷偷留一个 64NWW3AYH7LH
    cheese
        46
    cheese  
       41 天前
    @jackyin #45 好耶,已下载!
    Suigintou
        47
    Suigintou  
       41 天前
    前阵子我正在寻求倒数日 APP ,可惜擦肩而过~
    jackyin
        48
    jackyin  
    OP
       41 天前
    @Suigintou 可否回眸 N7PNF9K3769A
    duangaduang
        49
    duangaduang  
       41 天前 via iPhone
    试了好多都用了
    jobmailcn
        50
    jobmailcn  
       40 天前 via Android   ❤️ 1
    @FEDT 二十四节气是农历的一部分,农历≠阴历,农历是阴阳合历,阴历部分就是每个月多少天,严格按朔望月,朔日在初一;阳历部分就是 2411 天,所以节气,严格按阳历,冬至就是太阳直射在南回归线的时候;因为公历也是按阳历,所以 24 节气每年都落在公历差不多的日期,但是公历置润是按固定算法,4 年润 1 天 400 年不润,所以它跟严格按阳历的二十四节气会有偏差,清明节有时候在 4 月 5 日,有时候在 4 月 3 日或 4 月 6 日。另外一个朔望月天数是 29.53 天,12 个月才 354.36 天,和地球公转周期差了接近 11 天,所以农历会有闰月来修正,在哪个
    jobmailcn
        51
    jobmailcn  
       40 天前 via Android
    月份置润是跟二十四节气相关的。两个冬至之间,如仅有 12 个月则不置闰,若有 13 个月即置闰。置闰的月从“冬至”开始,当出现第一个没有“中气”的月份,这个月就是闰月,其名称是在这个月之前月份的名称前加一个“闰”字。所以农历≠阴历,二十节气也不是公历。
    xz410236056
        52
    xz410236056  
       40 天前
    农历确实是阴阳历,准倒是准,就是各种润的情况比较麻烦不好记。
    shiguiyou
        53
    shiguiyou  
       40 天前
    收藏一下,有空试试搞个 android compose 版本的
    tuwulin365
        54
    tuwulin365  
       40 天前
    为什么弄个软件都要鸡和马?
    iluolSNS
        55
    iluolSNS  
       40 天前
    好多用了也不回
    kidtest
        56
    kidtest  
       40 天前
    @Dealtz 哈哈哈我还去查了一下,果然是这样,有意思!
    fengtalk
        57
    fengtalk  
       40 天前
    9L4AW44AX6X3
    Y3H3JM6FWTXW
    JKJNPKK6RP7A
    KJT3EFAMAPAX
    7JHYF4HLKYYK

    以上全用,有些也没回复。没兴致了。
    blank0ken
        58
    blank0ken  
       40 天前
    感谢 up 科普,之前没有特意查过区别。
    兑换码都试了一遍,都用掉了,后面的人不用试了
    Guesser
        59
    Guesser  
       40 天前
    建议把二十四节气、中国重要节日支持默认导入
    Suigintou
        60
    Suigintou  
       40 天前 via iPhone
    @jackyin 当时睡了,不知道谁用了也不吭一声,说来才发现你也是“今日背单词“的开发者😂,背单词还不错。
    xingguang
        61
    xingguang  
       40 天前
    试了十几个,都不行,还是算了,用了也不回复一下,很烦人
    zgw0
        62
    zgw0  
       40 天前
    @blank0ken 没早看到你的回复 我一个一个又试了一遍 白嫖失败
    回复直接全贴下码 后面的人别试了,全都用了
    3AYJ467YFP3X

    J79A7TNK966T

    TF3JHM6ALHA6

    H3RX9F3HFMP7

    YKAMH7M6NAKH

    X476HT743M6E

    3KJ99LNFYKN4

    9LNAA93JLMK3

    T6E94MTJ94L3

    XKA9PREX3WNY

    T7NFW36J47W7

    AJLELEXFNE4E

    3L7EAHKMANX3

    KMJAF7RWKL6E

    6RXW6WKKERWF

    9JWP99TFLPRK

    HN3P3P374XJP

    TW3P6HMT73YK

    WN7LH4XJFYFP

    7XYAJPF9PHYH

    RNPFNE9R3HLT

    7EXHMMX794JJ

    KXFY9L9Y4WK3

    MXMANHH4NLLP

    6ETFEJJNL6AL

    YKE9TWTK9P76

    J74KPEWYFAWP

    WR6YTEMWK4LT

    PRP3N7APEMXF

    EL3EMMFKRPMM

    J69LWN347NYJ

    HAF6JR6MR37A

    FTKX7WJHTA3L

    RPFL9L3PT4AH

    X9JKNH67MHW9

    9WXTRE76FNLK

    R7HPP4TRFF6T

    HYT4FM7TJWK4

    WXYTY9L473XE

    MP4PXF97TK7A

    T6FLMLPL6PLA

    F9WALPRYRY6E

    6YW9NHREWXRW

    4PWYAJHF7FEM

    4JNTYTY4NP7Y

    94RTHR3KY96K

    T34MLJHJFKYK

    FK3PKFMN9EEX

    KAM79XFEYL4Y

    MMNNRFT933LX

    RMM766WK4F7W

    363T4JAJRKNH

    LN63YX3A7EPL

    EJLX76NHFMEY

    64M7LFLETWTE

    9Y3M6K9MHMKA

    WF4XJ3TTE67M

    376H6MPE7ER4

    R3FA7LFXWEH6

    6A36RRJTRE7N

    MHY9LJFPTJLA

    7JHYF4HLKYYK

    PEYW3RWXKJRX

    4KM3MRR6F6WH

    XPYLEEPRXRK3

    TX3M77KP39YE

    T4AEXHT6PJHF

    JAN7AT3AY699

    EWEEX9JFX3LP

    JL3M4976ELLM

    KJT3EFAMAPAX

    MR9K49H6RAA3

    HYJP7K3P99RX

    XHL3KYPLY4W6

    4KE64W6WN3XW

    EYJW7PKKRF7Y

    H6TTXXXME36J

    RWAYX7YAFYXY

    J7E3XJNMTKWW

    H6XFTYHLHJ7A

    9L4AW44AX6X3

    FF33NMTW7JYT

    MTJFJ9AH33Y9

    Y3H3JM6FWTXW

    XN3T3K7J4NNJ

    WHEKFF6EXJW6

    JKJNPKK6RP7A

    9HPW93TK4M7E

    L96YY3X3F6LJ

    RER679FRMK9F
    jackyin
        63
    jackyin  
    OP
       40 天前
    @shiguiyou 哈哈,之前就准备学习 Android Jetpack Compose ,看起来与 SwiftUI 差不多。
    jackyin
        64
    jackyin  
    OP
       40 天前
    @Guesser 感谢建议,这个可以的,后续版本把常用节日加上供直接选择添加。
    jackyin
        65
    jackyin  
    OP
       40 天前
    @Suigintou 感谢支持,哈哈~
    zxCoder
        66
    zxCoder  
       40 天前
    小建议,在标题明确软件平台
    jackyin
        67
    jackyin  
    OP
       40 天前
    @zxCoder 感谢建议,以后会注意的哈~
    Gaays
        68
    Gaays  
       40 天前
    关于小满那段叙述,和奥迪之前抄袭广告的描述有点像,也是看了那个事件嘛
    Nicksxs
        69
    Nicksxs  
       40 天前
    还有码么
    xuxinglin8888
        70
    xuxinglin8888  
       40 天前 via Android
    等 apk
    jackyin
        71
    jackyin  
    OP
       40 天前
    @Gaays

    小暑、小雪、小寒都有对应的大暑、大雪、大寒,只有小满,没有大满,这本来就是一个知识,而关于小满的思想也是自古就有,把那个被抄袭者的那首诗的句子拿来搜索一下,会发现也是老早就被人写过的句子,所以也有很多人说他也是抄袭者。

    拿白话文表达小满的思想,其实大家表达出来的都差不多,至于奥迪的文案,我也找到了 2 个原文,看了下对比,算是抄袭没跑了。有句俗话叫天下文章一大抄,但其实还有后半句,看你会抄不会抄。像这种有很多句子完全一样的,顺序都没变,太不会抄了,至少改改变量名,让看起来表面上有点区别也好呀 T.T

    元代吴澄:“小满,四月中。小满者,物至于此小得盈满。”。
    文档里引用的诗是曾国藩写的:“花未全开月未圆,半山微醉尽余欢。 何须多虑盈亏事,终归小满胜万全。”。
    jackyin
        72
    jackyin  
    OP
       40 天前
    @Suigintou
    @duangaduang
    @iluolSNS
    @fengtalk
    @blank0ken
    @xingguang
    @zgw0
    @Nicksxs

    还有最后 5 个码,给我发个邮件,标明 v 站用户名,我按时间顺序给回过去哈~
    邮箱:amFja3lpbmhoQHFxLmNvbQ==
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1741 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 00:08 · PVG 08:08 · LAX 17:08 · JFK 20:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.