NSDate和NSString相互轉換
阿新 • • 發佈:2017-06-09
date 部分 當前 sda 英文 none 剛剛在線 轉換 微信公眾號
不積小流無以成江海,不及矽步無以至千裏。做iOS開發也是這樣。平時寫代碼要多收集一些實用的代碼,以免每次都從新來一遍,不僅浪費時間,也影響開發效率。
有人把做app形容成蓋房子。碼農就是搬磚的。真的是形象無比。隨著時間的推移。手裏積累的優秀代碼就越來越多。這樣,蓋起房子來,效率肯定是杠杠的。
我也會收集一些實用的代碼。有的會寫在博客裏。有的會寫成demo放在github上面。有的就非常安靜的躺在我的電腦裏。
每次我用到的時候。我都會順手復制過來。
今天給大家分享一些關於NSDate和NSString相互轉換。
百度一下,有一大推相關的方法。
每次都百度。不如自己收集起來方便。
NSDate轉NSString
日期轉成字符串。這個盡管簡單,可是我相信非常多朋友初次遇到肯定束手無策。
腦子裏蹦出四個字:這怎麽轉?直接上代碼:
//獲取系統當前時間 NSDate *currentDate = [NSDate date]; //用於格式化NSDate對象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //設置格式:zzz表示時區 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"]; //NSDate轉NSString NSString *currentDateString = [dateFormatter stringFromDate:currentDate]; //輸出currentDateString NSLog(@"%@",currentDateString);
NSDate對象包括兩個部分。日期(Date)和時間(Time)。
格式化的時間字符串主要也是針對日期和時間的。
NSDateFormatter是一個非經常常使用的類。用於格式化NSDate對象,支持本地化的信息。
NSDateFormatter經常使用的格式有:
yyyy-MM-dd HH:mm:ss.SSS
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd
MM dd yyyy
NSDateFormatter格式化參數例如以下:
G: 公元時代,比如AD公元 yy: 年的後2位 yyyy: 完整年 MM: 月,顯示為1-12 MMM: 月,顯示為英文月份簡寫,如 Jan MMMM: 月。顯示為英文月份全稱。如 Janualy dd: 日,2位數表示。如02 d: 日。1-2位顯示。如 2 EEE: 簡寫星期幾,如Sun EEEE: 全寫星期幾,如Sunday aa: 上下午,AM/PM H: 時,24小時制,0-23 K:時,12小時制,0-11 m: 分。1-2位 mm: 分,2位 s: 秒,1-2位 ss: 秒,2位 S: 毫秒
NSString轉NSDate
既然NSDate能夠轉成NSString,毫無疑問NSString也能夠轉成NSDate。代碼例如以下:
//須要轉換的字符串
NSString *dateString = @"2015-06-26 08:08:08";
//設置轉換格式
NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//NSString轉NSDate
NSDate *date=[formatter dateFromString:dateString];
NSDate和NSString相互轉換就是這麽簡單。
轉換工具類
在項目中。我們須要用到轉換的地方可能不止一處,所以建議我們定義一個工具類。
在工具類裏實現例如以下兩個方法:
//NSDate轉NSString
+ (NSString *)stringFromDate:(NSDate *)date
{
//獲取系統當前時間
NSDate *currentDate = [NSDate date];
//用於格式化NSDate對象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//設置格式:zzz表示時區
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
//NSDate轉NSString
NSString *currentDateString = [dateFormatter stringFromDate:currentDate];
//輸出currentDateString
NSLog(@"%@",currentDateString);
return currentDateString;
}
//NSString轉NSDate
+ (NSDate *)dateFromString:(NSString *)string
{
//須要轉換的字符串
NSString *dateString = @"2015-06-26 08:08:08";
//設置轉換格式
NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//NSString轉NSDate
NSDate *date=[formatter dateFromString:dateString];
return date;
}
有了這個工具類,媽媽再也不用操心我的轉換能力啦!
?作者李剛是剛剛在線(www.superqq.com)站長,百度百家專欄作者
iOSproject師非著名自媒體。微信公眾號iOS開發:iOSDevTip運營者
NSDate和NSString相互轉換