iOS 獲取當(dāng)前時間及時間戳的互換

1. 獲取年月日時分秒

NSDate *date1 = [NSDate date];

NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];

[formatter1 setDateStyle:NSDateFormatterMediumStyle];

[formatter1 setTimeStyle:NSDateFormatterShortStyle];

[formatter1 setDateFormat:@"YYYY-MM-dd hh:mm:ss"];

NSString *DateTime1 = [formatter1 stringFromDate:date1];

str就是我們需要的時間,代碼中("YYYY-MM-dd HH:mm:ss")這個時間的樣式是可以根據(jù)我們的需求進(jìn)行修改的,比如: 20170901112253 ==> ("YYYYMMddHHmmss")

如果只想獲取年月,代碼如下:

NSDate *date1 = [NSDate date];

NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];

[formatter1 setDateStyle:NSDateFormatterMediumStyle];

[formatter1 setTimeStyle:NSDateFormatterShortStyle];

[formatter1 setDateFormat:@"YYYY-MM"];

NSString *DateTime1 = [formatter1 stringFromDate:date1];

2. 區(qū)分系統(tǒng)時間是24小時制還是12小時制

//獲取系統(tǒng)是24小時制或者12小時制

NSString *formatStringForHours = [NSDateFormatter dateFormatFromTemplate:@"j" options:0 locale:[NSLocale currentLocale]];

NSRange contains = [formatStringForHours rangeOfString:@"a"];

BOOL thisAMPM = contains.location != NSNotFound;

thisAMPM == true //表示12小時制 否則為24小時制

3. 字符串轉(zhuǎn)時間戳

//字符串轉(zhuǎn)時間戳

//datenow為當(dāng)前時間

NSString *timeSp = [NSString stringWithFormat:@"%d", (long)[datenow timeIntervalSince1970]];

//時間戳的值

NSLog(@"timeSp:%@",timeSp);

4.時間戳轉(zhuǎn)字符串

//時間戳轉(zhuǎn)字符串

NSString *timeStr = "1506064573";

NSTimeInterval interval=[timeStr doubleValue] / 1000.0;

NSDate *date = [NSDate dateWithTimeIntervalSince1970:interval];

//實例化一個NSDateFormatter對象

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];

//設(shè)定時間格式,這里可以設(shè)置成自己需要的格式

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSString *currentDateStr = [dateFormatter stringFromDate:date];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容