NSDate和NSString之間的相互轉換

今天給大家分享一些關於NSDate和NSString相互轉換。百度一下,有一大推相關的方法。每次都百度,不如自己收集起來方便。

NSDate轉NSString

日期轉成字符串。這個雖然簡單,但是我相信很多朋友初次遇到肯定束手無策。腦子裏蹦出四個字:這怎麼轉?直接上代碼:

//獲取系統當前時間

NSDate*currentDate=[NSDatedate];

//用於格式化NSDate對象

NSDateFormatter*dateFormatter=[[NSDateFormatteralloc]init];

//設置格式:zzz表示時區

[dateFormattersetDateFormat:@"yyyy-MM-ddHH:mm:sszzz"];

//NSDate轉NSString

NSString*currentDateString=[dateFormatterstringFromDate:currentDate];

//輸出currentDateString

NSLog(@"%@",currentDateString);

NSDate對象包含兩個部分,日期(Date)和時間(Time)。格式化的時間字符串主要也是針對日期和時間的。NSDateFormatter是一個很常用的類,用於格式化NSDate對象,支持本地化的信息。

NSDateFormatter常用的格式有:

yyyy-MM-ddHH:mm:ss.SSS 

yyyy-MM-ddHH:mm:ss

yyyy-MM-dd

MMddyyyy

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-2608:08:08";

//設置轉換格式

NSDateFormatter*formatter=[[NSDateFormatteralloc]init];

[formattersetDateFormat:@"yyyy-MM-ddHH:mm:ss"];

//NSString轉NSDate

NSDate*date=[formatterdateFromString:dateString];

NSDate和NSString相互轉換就是這麼簡單。

轉換工具類

在項目中,我們需要用到轉換的地方可能不止一處,所以建議我們定義一個工具類。在工具類裏實現如下兩個方法:

//NSDate轉NSString

+(NSString*)stringFromDate:(NSDate*)date

{

//獲取系統當前時間

NSDate*currentDate=[NSDatedate];

//用於格式化NSDate對象

NSDateFormatter*dateFormatter=[[NSDateFormatteralloc]init];

//設置格式:zzz表示時區

[dateFormattersetDateFormat:@"yyyy-MM-ddHH:mm:sszzz"];

//NSDate轉NSString

NSString*currentDateString=[dateFormatterstringFromDate:currentDate];

//輸出currentDateString

NSLog(@"%@",currentDateString);

returncurrentDateString;

}

//NSString轉NSDate

+(NSDate*)dateFromString:(NSString*)string

{

//需要轉換的字符串

NSString*dateString=@"2015-06-2608:08:08";

//設置轉換格式

NSDateFormatter*formatter=[[NSDateFormatteralloc]init];

[formattersetDateFormat:@"yyyy-MM-ddHH:mm:ss"];

//NSString轉NSDate

NSDate*date=[formatterdateFromString:dateString];

returndate;

}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章