源码地址:
https://gitee.com/CYC666/Calendar.git
CYC666
【开发时间】2021.09.29 ~ 2021.09.30
【功能】
1、年视图
2、月视图
3、节假日
4、天干、地支、生肖
5、大年初一、初一
6、事件的添加、删除、显示
一些特殊的功能代码
// 干支纪年
var chineseYear: String {
// 天干:甲 乙 丙 丁 戊 己 庚 辛 壬 癸
// 4、5、6、7、8、9、0、1、2、3
// 地支:子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥
// 4、5、6、7、8、9、10、11、0、1、2、3
// 生肖:鼠 牛 虎 兔 龙 蛇 马 羊 猴 鸡 狗 猪
// 4、5、6、7、8、9、10、11、0、1、2、3
// 公元年除以10得到的余数对应天干,除以12得到的余数对应地支
letlist1 = ["庚", "辛", "壬", "癸", "甲", "乙", "丙", "丁", "戊", "己"]
letlist2 = ["申", "酉", "戌", "亥", "子", "丑", "寅", "卯", "辰", "巳", "午", "未"]
letlist3 = ["猴", "鸡", "狗", "猪", "鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊"]
lettext1 = list1[self.year%10]
lettext2 = list2[self.year%12]
lettext3 = list3[self.year%12]
returnString.init(format:"%@%@%@年", text1, text2, text3)
}
// 农历 2020年冬月廿二
var chineseDay: String {
// 公历转农历
varcom =DateComponents()
letsolarCalendar =Calendar.init(identifier: .gregorian)
com.year=self.date.year
com.month=self.date.month
com.day=self.date.day
com.hour=12
com.minute=0
com.second=0
com.timeZone=TimeZone.init(secondsFromGMT:60*60*8)
letsolarDate = solarCalendar.date(from: com)
letlunarCalendar =Calendar.init(identifier: .chinese)
letformatter =DateFormatter()
formatter.locale=Locale(identifier:"zh_CN")
formatter.dateStyle= .medium
formatter.calendar= lunarCalendar
returnformatter.string(from: solarDate!)
}