NSDate和NSString相互轉(zhuǎn)換

NSDate轉(zhuǎn)NSString

日期轉(zhuǎn)成字符串。這個是比較簡單,對于初次遇到的同學可能會有些束手無策。這里把直觀的代碼分享給大家——直接上代碼:

//獲取系統(tǒng)當前時間
NSDate *currentDate = [NSDate date];
//用于格式化NSDate對象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//設置格式:zzz表示時區(qū)
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
//NSDate轉(zhuǎn)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格式化參數(shù)如下:

  • G: 公元時代,例如AD公元
  • yy: 年的后2位
  • yyyy: 完整年
  • MM: 月,顯示為1-12
  • MMM: 月,顯示為英文月份簡寫,如 Jan
  • MMMM: 月,顯示為英文月份全稱,如 Janualy
  • dd: 日,2位數(shù)表示,如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轉(zhuǎn)NSDate

既然NSDate可以轉(zhuǎn)成NSString,毫無疑問NSString也可以轉(zhuǎn)成NSDate。代碼如下:

//需要轉(zhuǎn)換的字符串
NSString *dateString = @"2015-06-26 08:08:08";
 //設置轉(zhuǎn)換格式
NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//NSString轉(zhuǎn)NSDate
NSDate *date=[formatter dateFromString:dateString];
NSDate和NSString相互轉(zhuǎn)換就是這么簡單。

轉(zhuǎn)換工具類

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

//NSDate轉(zhuǎn)NSString
+ (NSString *)stringFromDate:(NSDate *)date
{
    //獲取系統(tǒng)當前時間
    NSDate *currentDate = [NSDate date];
    //用于格式化NSDate對象
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    //設置格式:zzz表示時區(qū)
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
    //NSDate轉(zhuǎn)NSString
    NSString *currentDateString = [dateFormatter stringFromDate:currentDate];
    //輸出currentDateString
    NSLog(@"%@",currentDateString);
    return currentDateString;
}

//NSString轉(zhuǎn)NSDate
+ (NSDate *)dateFromString:(NSString *)string
{
    //需要轉(zhuǎn)換的字符串
    NSString *dateString = @"2015-06-26 08:08:08";
    //設置轉(zhuǎn)換格式
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    //NSString轉(zhuǎn)NSDate
    NSDate *date=[formatter dateFromString:dateString];
    return date;
}
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容