我的技術博客經常被流氓網站惡意爬取轉載。請移步原文:http://www.cnblogs.com/hamhog/p/3560280.html,享受整齊的排版、有效的鏈接、正確的代碼縮進、更好的閱讀體驗。
【NSDate <-> NSString】
NSDateFormatter可在指定的日期格式下使NSDate與NSString相互轉化。
NSDate -> NSString:
+(NSString*)stringFromDate:(NSDate*)date{ NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"]; return [dateFormatter stringFromDate:date]; }
NSString -> NSDate:
+(NSDate*)dateFromString:(NSString*)dateString{ NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"]; return [dateFormatter dateFromString:dateString]; }
其中的zzz表示時區,可以省去。
【NSDate <-> long long】
我們經常用一個long long類型的變量——從1970年以來的毫秒數來表示時間。NSDate提供方法與這種整數形式相互轉化。
NSDate -> long long:
+(long long)longLongFromDate:(NSDate*)date{ return [date timeIntervalSince1970] * 1000; }
long long -> NSDate:
+(NSDate*)dateFromLongLong:(long long)msSince1970{ return [NSDate dateWithTimeIntervalSince1970:msSince1970 / 1000]; }
注意這里timeInteval的單位是秒(s),而常用的單位是毫秒(ms),因此需做乘除1000的轉化。