swift 仿iOS日历 2021-09-30

2021-09-30  本文已影响0人  CYC666

源码地址:

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!)

    }


上一篇 下一篇

猜你喜欢

热点阅读