123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- //
- // NYMacros.swift
- // JSJP_Student_sw
- //
- // Created by Ning.ge on 2023/6/6.
- //
- struct NYMacros {
- //应用名
- static let appName = Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName")
- //应用版本
- static let appVersion = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString")
- //应用build
- static let appBuild = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion")
- //友盟key
- static let appMenKey = "648bf1ac87568a379b57b0cd"
- //bugly key
- static let appbuglyKey = "4c23a341-cdbb-4139-9da3-2377aad1abee"
- static let appbuglyId = "9318ff6ab4"
- //微信
- static let wxappid = "wx6f190721f04ea532"
- static let wxsecret = "3e35b5ee1b06c7384e272076159f6385"
- static let universalLink = "https://app.jppt.com.cn/JSJPCoach/"
- ///------
- /// iOS Version
- ///------
- static let iOSVersion = Float(UIDevice.current.systemVersion) ?? 0.0
- static let iOS7OrLater = iOSVersion >= 7.0
- static let iOS8OrLater = iOSVersion >= 8.0
- static let iOS9OrLater = iOSVersion >= 9.0
- static let iOS10OrLater = iOSVersion >= 10.0
- static let iOS11OrLater = iOSVersion >= 11.0
- static let iOS12OrLater = iOSVersion >= 12.0
- static let iOS13OrLater = iOSVersion >= 13.0
- static let iOS14OrLater = iOSVersion >= 14.0
- static let iOS15OrLater = iOSVersion >= 15.0
-
- // //时间戳
- // static func t() -> String {
- // return String(format: "%.f", Date().timeIntervalSince1970)
- // }
- // static func ts() -> String {
- // return String(format: "%.f", Date().timeIntervalSince1970*1000)
- // }
- // //生成设备ID
- // static func deviceID() -> String {
- // var deviceIDStr: String? = nil
- // if deviceIDStr == nil {
- // deviceIDStr = SAMKeychain.deviceId()
- // }
- // return deviceIDStr?.isEmpty == false ? deviceIDStr! : ""
- // }
- }
- //存放-常用-源
- struct NYSource {
-
- static let statedicts:[String:String] = ["1":"一","2":"二","3":"三","4":"四","5":"五"]
-
- }
- struct NYDate {
- //获取当前时间
- static func getThisDate()->String {
- let currentDate = Date()
- let dateFormatter = DateFormatter()
- dateFormatter.dateFormat = "YYYY-MM-dd"
- return dateFormatter.string(from: currentDate)
- }
- //获取昨日时间
- static func getLastDate()->String {
- let calendar = Calendar.current
- let yesterday = calendar.date(byAdding: .day, value: -1, to: Date())
- let dateFormatter = DateFormatter()
- dateFormatter.dateFormat = "YYYY-MM-dd"
- if let yesterdayDate = yesterday {
- let yesterdayString = dateFormatter.string(from: yesterdayDate)
- return yesterdayString
- }
- return ""
- }
- //获取当月
- static func getDateMonth()-> [String] {
- let calendar = Calendar.current
- let currentDate = Date()
- // 获取本月的起始日期
- let startDate = calendar.date(from: calendar.dateComponents([.year, .month], from: calendar.startOfDay(for: currentDate)))!
- // 获取本月的结束日期
- let endDate = calendar.date(byAdding: DateComponents(month: 1, day: -1), to: startDate)!
- let dateFormatter = DateFormatter()
- dateFormatter.dateFormat = "YYYY-MM-dd"
- let startDateString = dateFormatter.string(from: startDate)
- let endDateString = dateFormatter.string(from: endDate)
- return [startDateString,endDateString]
- }
- //获取上月
- static func getDateMonthLast()-> [String] {
- let calendar = Calendar.current
- let currentDate = Date()
- // 获取上个月的起始日期
- var dateComponents = calendar.dateComponents([.year, .month], from: currentDate)
- dateComponents.month! -= 1
- let startDate = calendar.date(from: dateComponents)!
- // 获取上个月的结束日期
- let range = calendar.range(of: .day, in: .month, for: startDate)!
- let lastDayOfMonth = range.upperBound - 1
- dateComponents.day = lastDayOfMonth
- let endDate = calendar.date(from: dateComponents)!
- let dateFormatter = DateFormatter()
- dateFormatter.dateFormat = "YYYY-MM-dd"
- let startDateString = dateFormatter.string(from: startDate)
- let endDateString = dateFormatter.string(from: endDate)
- return [startDateString,endDateString]
- }
- //获取近n月
- static func getDateMonthSectionNum(num:Int)-> [String] {
- let calendar = Calendar.current
- let currentDate = Date()
- // 获取当前月份的起始日期
- let currentMonthStartDate = calendar.date(from: calendar.dateComponents([.year, .month], from: calendar.startOfDay(for: currentDate)))!
- // 计算近三个月之前的日期
- let threeMonthsAgoDate = calendar.date(byAdding: DateComponents(month: num), to: currentMonthStartDate)!
- // 获取近三个月的起始日期
- let startDate = calendar.date(from: calendar.dateComponents([.year, .month], from: threeMonthsAgoDate))!
- // 获取当前月份的结束日期
- let currentMonthEndDate = calendar.date(byAdding: DateComponents(month: 1, day: -1), to: currentMonthStartDate)!
- // 获取近三个月的结束日期
- let endDate = calendar.date(byAdding: DateComponents(day: -1), to: currentMonthEndDate)!
- let dateFormatter = DateFormatter()
- dateFormatter.dateFormat = "YYYY-MM-dd"
- let startDateString = dateFormatter.string(from: startDate)
- let endDateString = dateFormatter.string(from: endDate)
- return [startDateString,endDateString]
- }
- //获取n月 str
- static func getMonthStartAndEndDates(forMonth month: String) -> [String] {
- let dateFormatter = DateFormatter()
- dateFormatter.dateFormat = "yyyy-MM"
- guard let date = dateFormatter.date(from: month) else {
- return []
- }
- let calendar = Calendar.current
- let components = calendar.dateComponents([.year, .month], from: date)
- guard let startDate = calendar.date(from: components),
- let endDate = calendar.date(byAdding: DateComponents(month: 1, day: -1), to: startDate) else {
- return []
- }
- dateFormatter.dateFormat = "yyyy-MM-dd"
- let startDateString = dateFormatter.string(from: startDate)
- let endDateString = dateFormatter.string(from: endDate)
- return [startDateString, endDateString]
- }
- //获取本年
- static func getDateYear()-> [String] {
- let calendar = Calendar.current
- let currentDate = Date()
- let currentYear = calendar.component(.year, from: currentDate)
-
- // 获取本年第一天
- var startDateComponents = DateComponents()
- startDateComponents.year = currentYear
- startDateComponents.month = 1
- startDateComponents.day = 1
- let startDate = calendar.date(from: startDateComponents)!
-
- // 获取本年最后一天
- var endDateComponents = DateComponents()
- endDateComponents.year = currentYear
- endDateComponents.month = 12
- endDateComponents.day = 31
- let endDate = calendar.date(from: endDateComponents)!
-
- let dateFormatter = DateFormatter()
- dateFormatter.dateFormat = "yyyy-MM-dd"
-
- let startDateString = dateFormatter.string(from: startDate)
- let endDateString = dateFormatter.string(from: endDate)
- return [startDateString,endDateString]
- }
- //获取近n年
- static func getDateYearSectionNum(num:Int)-> [String] {
- let calendar = Calendar.current
- let currentDate = Date()
- // 获取当前年份
- let currentYear = calendar.component(.year, from: currentDate)
- // 计算起始年份
- let startYear = currentYear - num
- // 构建日期组件,设置年份为起始年份,月份和日份分别为1
- var dateComponents = DateComponents()
- dateComponents.year = startYear
- dateComponents.month = 1
- dateComponents.day = 1
- let dateFormatter = DateFormatter()
- dateFormatter.dateFormat = "YYYY-MM-dd"
- // 获取起始日期
- var startDateString = ""
- if let startDate = calendar.date(from: dateComponents) {
- startDateString = dateFormatter.string(from: startDate)
- }
- // 获取结束日期
- var endDateString = ""
- dateComponents.year = currentYear+1
- dateComponents.month = 1
- dateComponents.day = -1
- if let endDate = calendar.date(from: dateComponents) { //calendar.date(byAdding: DateComponents(year: num, day: -1), to: currentDate) {
- endDateString = dateFormatter.string(from: endDate)
- }
- return [startDateString,endDateString]
- }
- }
|