麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

swift 對日期的處理大全( 類擴展 Date+Extension 和 公共類 DateClass)

2019-11-06 09:37:32
字體:
來源:轉載
供稿:網友

類擴展 Date+Extension

import UIKitextension Date {    //MARK: - 獲取日期各種值    //MARK: 年    func year() ->Int {        let calendar = NSCalendar.current        let com = calendar.dateComponents([.year,.month,.day], from: self)        return com.year!    }    //MARK: 月    func month() ->Int {        let calendar = NSCalendar.current        let com = calendar.dateComponents([.year,.month,.day], from: self)        return com.month!            }    //MARK: 日    func day() ->Int {        let calendar = NSCalendar.current        let com = calendar.dateComponents([.year,.month,.day], from: self)        return com.day!    }    //MARK: 星期幾    func weekDay()->Int{        let interval = Int(self.timeIntervalSince1970)        let days = Int(interval/86400) // 24*60*60        let weekday = ((days + 4)%7+7)%7        return weekday == 0 ? 7 : weekday    }    //MARK: 當月天數    func countOfDaysInMonth() ->Int {        let calendar = Calendar(identifier:Calendar.Identifier.gregorian)        let range = (calendar as NSCalendar?)?.range(of: NSCalendar.Unit.day, in: NSCalendar.Unit.month, for: self)        return (range?.length)!    }    //MARK: 當月第一天是星期幾    func firstWeekDay() ->Int {        //1.Sun. 2.Mon. 3.Thes. 4.Wed. 5.Thur. 6.Fri. 7.Sat.        let calendar = Calendar(identifier:Calendar.Identifier.gregorian)        let firstWeekDay = (calendar as NSCalendar?)?.ordinality(of: NSCalendar.Unit.weekday, in: NSCalendar.Unit.weekOfMonth, for: self)        return firstWeekDay! - 1            }    //MARK: - 日期的一些比較    //是否是今天    func isToday()->Bool {        let calendar = NSCalendar.current        let com = calendar.dateComponents([.year,.month,.day], from: self)        let comNow = calendar.dateComponents([.year,.month,.day], from: Date())        return com.year == comNow.year && com.month == comNow.month && com.day == comNow.day    }    //是否是這個月    func isThisMonth()->Bool {        let calendar = NSCalendar.current        let com = calendar.dateComponents([.year,.month,.day], from: self)        let comNow = calendar.dateComponents([.year,.month,.day], from: Date())        return com.year == comNow.year && com.month == comNow.month    }}

DateClass

import UIKitclass DateClass {    //MARK: - 當前時間相關    //MARK: 今年    static func currentYear() ->Int {        let calendar = NSCalendar.current        let com = calendar.dateComponents([.year,.month,.day], from: Date())        return com.year!    }    //MARK: 今月    static func currentMonth() ->Int {        let calendar = NSCalendar.current        let com = calendar.dateComponents([.year,.month,.day], from: Date())        return com.month!    }    //MARK: 今日    static func currentDay() ->Int {        let calendar = NSCalendar.current        let com = calendar.dateComponents([.year,.month,.day], from: Date())        return com.day!    }    //MARK: 今天星期幾    static func currentWeekDay()->Int{        let interval = Int(Date().timeIntervalSince1970)        let days = Int(interval/86400) // 24*60*60        let weekday = ((days + 4)%7+7)%7        return weekday == 0 ? 7 : weekday    }    //MARK: 本月天數    static func countOfDaysInCurrentMonth() ->Int {        let calendar = Calendar(identifier:Calendar.Identifier.gregorian)        let range = (calendar as NSCalendar?)?.range(of: NSCalendar.Unit.day, in: NSCalendar.Unit.month, for: Date())        return (range?.length)!    }    //MARK: 當月第一天是星期幾    static func firstWeekDayInCurrentMonth() ->Int {        //1.Sun. 2.Mon. 3.Thes. 4.Wed. 5.Thur. 6.Fri. 7.Sat.        let calendar = Calendar(identifier:Calendar.Identifier.gregorian)        let firstWeekDay = (calendar as NSCalendar?)?.ordinality(of: NSCalendar.Unit.weekday, in: NSCalendar.Unit.weekOfMonth, for: Date())        return firstWeekDay! - 1    }    //MARK: - 獲取指定日期各種值    //根據年月得到某月天數    static func getCountOfDaysInMonth(year:Int,month:Int) ->Int{        let dateFormatter = DateFormatter()        dateFormatter.dateFormat = "yyyy-MM"        let date            = dateFormatter.date(from: String(year)+"-"+String(month))        let calendar = Calendar(identifier:Calendar.Identifier.gregorian)        let range = (calendar as NSCalendar?)?.range(of: NSCalendar.Unit.day, in: NSCalendar.Unit.month, for: date!)        return (range?.length)!    }    //MARK: 根據年月得到某月第一天是周幾    static func getfirstWeekDayInMonth(year:Int,month:Int) -> Int{        let dateFormatter = DateFormatter()        dateFormatter.dateFormat = "yyyy-MM"        let date            = dateFormatter.date(from: String(year)+"-"+String(month))        let calendar = Calendar(identifier:Calendar.Identifier.gregorian)        let comps = (calendar as NSCalendar?)?.components(NSCalendar.Unit.weekday, from: date!)        let week = comps?.weekday        return week! - 1    }    //MARK: 獲取指定年月的date    static func getMonthDate(year:Int,month:Int) ->Date {        let dateFormatter = DateFormatter()        dateFormatter.dateFormat = "yyyy-MM"        let date            = dateFormatter.date(from: String(year)+"-"+String(month))        let calendar = Calendar(identifier:Calendar.Identifier.gregorian)        var com = calendar.dateComponents([.year,.month,.day], from: date!)        com.month = month        com.day = 1        return calendar.date(from: com)!    }    //MARK: 比較時間先后    static func compareOneDay(oneDay:Date, withAnotherDay anotherDay:Date) -> Int {        let dateFormatter:DateFormatter = DateFormatter()        dateFormatter.dateFormat = "yyyy-MM-dd"        let oneDayStr:String = dateFormatter.string(from: oneDay)        let anotherDayStr:String = dateFormatter.string(from: anotherDay)        let dateA = dateFormatter.date(from: oneDayStr)        let dateB = dateFormatter.date(from: anotherDayStr)        let result:ComparisonResult = (dateA?.compare(dateB!))!        //Date1  is in the future        if(result == ComparisonResult.orderedDescending ) {            return 1        }        //Date1 is in the past        else if(result == ComparisonResult.orderedAscending) {            return 2        }        //Both dates are the same        else {            return 0        }    }    //MARK: 時間與時間戳之間的轉化    //將時間轉換為時間戳    static func stringToTimeStamp(_ stringTime:String)->String {        let dfmatter = DateFormatter()        dfmatter.dateFormat = "yyyy-MM-dd HH:mm:ss"        dfmatter.locale = Locale.current        let date = dfmatter.date(from: stringTime)        let dateStamp:TimeInterval = date!.timeIntervalSince1970        let dateSt:Int = Int(dateStamp)        return String(dateSt)    }    //將時間戳轉換為年月日    static func timeStampToString(_ timeStamp:String)->String {        let string = NSString(string: timeStamp)        let timeSta:TimeInterval = string.doubleValue        let dfmatter = DateFormatter()        dfmatter.dateFormat="yyyy年MM月dd日"        let date = Date(timeIntervalSince1970: timeSta)        return dfmatter.string(from: date)    }    //將時間戳轉換為具體時間    static func timeStampToStringDetail(_ timeStamp:String)->String {        let string = NSString(string: timeStamp)        let timeSta:TimeInterval = string.doubleValue        let dfmatter = DateFormatter()        dfmatter.dateFormat="yyyy年MM月dd日HH:mm:ss"        let date = Date(timeIntervalSince1970: timeSta)        return dfmatter.string(from: date)    }    //將時間戳轉換為時分秒    static func timeStampToHHMMSS(_ timeStamp:String)->String {        let string = NSString(string: timeStamp)        let timeSta:TimeInterval = string.doubleValue        let dfmatter = DateFormatter()        dfmatter.dateFormat="HH:mm:ss"        let date = Date(timeIntervalSince1970: timeSta)        return dfmatter.string(from: date)    }    //獲取系統的當前時間戳    static func getStamp()->Int{        //獲取當前時間戳        let date = Date()        let timeInterval:Int = Int(date.timeIntervalSince1970)        return timeInterval    }    //月份數字轉漢字    static func numberToChina(monthNum:Int) -> String {        let ChinaArray = ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]        let ChinaStr:String = ChinaArray[monthNum - 1]        return ChinaStr    }    //MARK: 數字前補0    static func add0BeforeNumber(_ number:Int) -> String {        if number >= 10 {            return String(number)        }else{            return "0" + String(number)        }    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 免费h片网站 | 国产乱子视频 | 海外中文字幕在线观看 | 午夜精品成人 | 精品成人免费视频 | 欧美18xxxx| 男人午夜小视频 | 久久精品79国产精品 | 国产一国产精品一级毛片 | 特级黄aaaaaaaaa毛片 | 在线观看免费精品 | 日产精品久久久一区二区福利 | 久久99精品久久久久久236 | 国产亚洲精久久久久久蜜臀 | 免费日本一区二区 | www.99re1.com| 日本欧美国产 | h久久| 日本精品久久久一区二区三区 | 日韩黄在线观看 | 久久精品成人免费国产片桃视频 | 91av在线影院 | 精品国产一区二区三区天美传媒 | 免费看一级片 | 羞羞视频免费入口网站 | 欧美性受xxxx白人性爽 | 成人毛片视频免费看 | 亚洲一区在线免费视频 | 色中色在线播放 | 久草干 | 久久一区国产 | 伊人久久国产精品 | 一区二区精品视频 | 国产一区二区视频观看 | 久久久久久久网站 | 免费观看三级毛片 | 精品国产一区二 | 永久免费在线观看av | 成人在线视频一区 | 九九视屏 | 国产一区网址 |