swift get current time
最后用代码:
/*************************************************************************** * Date Time Related functions ***************************************************************************/ extension NSDate { //2015 func Year() -> Int { let curCalendar:NSCalendar = NSCalendar.currentCalendar() let componentYear:Int = curCalendar.component(NSCalendarUnit.Year, fromDate: self) return componentYear } //11 func Month() -> Int { let curCalendar:NSCalendar = NSCalendar.currentCalendar() let componentMonth:Int = curCalendar.component(NSCalendarUnit.Month, fromDate: self) return componentMonth } //28 func Day() -> Int { let curCalendar:NSCalendar = NSCalendar.currentCalendar() let componentDay:Int = curCalendar.component(NSCalendarUnit.Day, fromDate: self) return componentDay } //10 func Hour() -> Int { let curCalendar:NSCalendar = NSCalendar.currentCalendar() let componentHour:Int = curCalendar.component(NSCalendarUnit.Hour, fromDate: self) return componentHour } //39 func Minute() -> Int { let curCalendar:NSCalendar = NSCalendar.currentCalendar() let componentMinute:Int = curCalendar.component(NSCalendarUnit.Minute, fromDate: self) return componentMinute } //18 func Second() -> Int { let curCalendar:NSCalendar = NSCalendar.currentCalendar() let componentSecond:Int = curCalendar.component(NSCalendarUnit.Second, fromDate: self) return componentSecond } //get short style date time string //11/28/15, 10:51 AM func toStringShort() -> String { let dateFormatter:NSDateFormatter = NSDateFormatter() dateFormatter.dateStyle = NSDateFormatterStyle.ShortStyle dateFormatter.timeStyle = NSDateFormatterStyle.ShortStyle let shortStyleStr:String = dateFormatter.stringFromDate(self) return shortStyleStr } //get medium style date time string //Nov 28, 2015, 10:51:33 AM func toStringMedium() -> String { let dateFormatter:NSDateFormatter = NSDateFormatter() dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle dateFormatter.timeStyle = NSDateFormatterStyle.MediumStyle let mediumStyleStr:String = dateFormatter.stringFromDate(self) return mediumStyleStr } //get long style date time string //November 28, 2015 at 10:51:33 AM GMT+8 func toStringLong() -> String { let dateFormatter:NSDateFormatter = NSDateFormatter() dateFormatter.dateStyle = NSDateFormatterStyle.LongStyle dateFormatter.timeStyle = NSDateFormatterStyle.LongStyle let longStyleStr:String = dateFormatter.stringFromDate(self) return longStyleStr } //get full style date time string //Saturday, November 28, 2015 at 10:51:33 AM China Standard Time func toStringFull() -> String { let dateFormatter:NSDateFormatter = NSDateFormatter() dateFormatter.dateStyle = NSDateFormatterStyle.FullStyle dateFormatter.timeStyle = NSDateFormatterStyle.FullStyle let fullStyleStr:String = dateFormatter.stringFromDate(self) return fullStyleStr } //get date formatted string //2015/11/28 10:48:12 func toString(dateFormat:String) -> String { let dateFormatter:NSDateFormatter = NSDateFormatter() dateFormatter.dateFormat = dateFormat let formattedDatetimeStr:String = dateFormatter.stringFromDate(self) return formattedDatetimeStr } //parse input date time string into NSDate //input: 2015/11/28 12:01:02 and yyyy/MM/dd HH:mm:ss //output: Optional(2015-11-28 04:01:02 +0000) static func fromString(datetimeStr:String, dateFormat:String) -> NSDate? { let dateFormatter:NSDateFormatter = NSDateFormatter() dateFormatter.dateFormat = dateFormat let parsedDatetime:NSDate? = dateFormatter.dateFromString(datetimeStr) return parsedDatetime } }
测试代码:
/* * NSdate extension demo */ let curDate:NSDate = NSDate() print("curDate=\(curDate)") //2015-11-28 02:35:19 +0000 print("curDate.Year()=\(curDate.Year())") //2015 print("curDate.Month()=\(curDate.Month())") //11 print("curDate.Day()=\(curDate.Day())") //28 print("curDate.Hour()=\(curDate.Hour())") //10 print("curDate.Minute()=\(curDate.Minute())") //39 print("curDate.Second()=\(curDate.Second())") //18 print("curDate.toShortStyleString()=\(curDate.toStringShort())") //11/28/15, 11:04 AM print("curDate.toMediumStyleString()=\(curDate.toStringMedium())") //Nov 28, 2015, 11:04:39 AM print("curDate.toLongStyleString()=\(curDate.toStringLong())") //November 28, 2015 at 11:04:39 AM GMT+8 print("curDate.toFullStyleString()=\(curDate.toStringFull())") //Saturday, November 28, 2015 at 11:04:39 AM China Standard Time let formatedDateStr:String = curDate.toString("yyyy/MM/dd HH:mm:ss") //2015/11/28 11:00:33 print("formatedDateStr=\(formatedDateStr)") let parsedDatetime:NSDate? = NSDate.fromString("2015/11/28 12:01:02", dateFormat: "yyyy/MM/dd HH:mm:ss") print("parsedDatetime=\(parsedDatetime)") //Optional(2015-11-28 04:01:02 +0000)
注:
更多函数详见:
转载请注明:在路上 » [已解决]Swift获取当前日期和时间