swift get current time
最后用代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | /*************************************************************************** * 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 } } |
测试代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | /* * 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获取当前日期和时间