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

2022-08-15 16:54:45 +08:00
 jackyin

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

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

趁此机会,简单写一下,加深下自己的理解,知识这种东西,写一遍就会加深自己的学习效果,写的过程,自己就得努力把知识捋一下。所以这段时间在学习 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 群吧,大家可以交流交流吐槽吐槽,互相看的上的也可以一起搞搞。

诸事顺遂,贵体康泰。

5003 次点击
所在节点    分享创造
72 条回复
xingguang
2022-08-16 12:34:29 +08:00
试了十几个,都不行,还是算了,用了也不回复一下,很烦人
zgw0
2022-08-16 13:34:01 +08:00
@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
2022-08-16 15:09:03 +08:00
@shiguiyou 哈哈,之前就准备学习 Android Jetpack Compose ,看起来与 SwiftUI 差不多。
jackyin
2022-08-16 15:11:33 +08:00
@Guesser 感谢建议,这个可以的,后续版本把常用节日加上供直接选择添加。
jackyin
2022-08-16 15:15:09 +08:00
@Suigintou 感谢支持,哈哈~
zxCoder
2022-08-16 15:43:09 +08:00
小建议,在标题明确软件平台
jackyin
2022-08-16 15:46:51 +08:00
@zxCoder 感谢建议,以后会注意的哈~
Gaays
2022-08-16 15:59:04 +08:00
关于小满那段叙述,和奥迪之前抄袭广告的描述有点像,也是看了那个事件嘛
Nicksxs
2022-08-16 16:13:25 +08:00
还有码么
e1d4py0KiD6KgqkQ
2022-08-16 16:34:25 +08:00
等 apk
jackyin
2022-08-16 17:06:44 +08:00
@Gaays

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

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

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

还有最后 5 个码,给我发个邮件,标明 v 站用户名,我按时间顺序给回过去哈~
邮箱:amFja3lpbmhoQHFxLmNvbQ==

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

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

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

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

© 2021 V2EX