在項目開發中,難免會遇到使用當前時間,比如實現網絡請求上傳報文、預約、日歷等功能。
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”)這個時間的樣式是可以根據我們的需求進行修改的,比如:
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. 區分系統時間是24小時制還是12小時制
代碼如下:
//獲取系統是24小時制或者12小時制NSString *formatStringForHours = [NSDateFormatter dateFormatFromTemplate:@"j" options:0 locale:[NSLocale currentLocale]];NSRange contains = [formatStringForHours rangeOfString:@"a"];BOOL thisAMPM = contains.location != NSNotFound;
thisAMPM==TURE為12小時制,否則為24小時制
3. 字符串轉時間戳
代碼如下:
//字符串轉時間戳//datenow為當前時間NSString *timeSp = [NSString stringWithFormat:@"%d", (long)[datenow timeIntervalSince1970]]; //時間戳的值NSLog(@"timeSp:%@",timeSp);
4. 時間戳轉字符串
代碼如下:
//時間戳轉字符串NSString *timeStr = "1506064573";NSTimeInterval interval=[timeStr doubleValue] / 1000.0;NSDate *date = [NSDate dateWithTimeIntervalSince1970:interval];//實例化一個NSDateFormatter對象NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];//設定時間格式,這里可以設置成自己需要的格式[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];NSString *currentDateStr = [dateFormatter stringFromDate:date];
以上這篇iOS 獲取當前時間及時間戳的互換實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答