之前,一直以为农历和阴历是一回事。
在做这个倒数日小助手的时候,为了支持农历,查了一些农历的知识,发现它俩原来不是一回事儿.
趁此机会,简单写一下,加深下自己的理解,知识这种东西,写一遍就会加深自己的学习效果,写的过程,自己就得努力把知识捋一下。所以这段时间在学习 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 群吧,大家可以交流交流吐槽吐槽,互相看的上的也可以一起搞搞。
诸事顺遂,贵体康泰。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.