今天給大家分享一些關于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;
}