由於時間戳記和時間的轉換並不是很常用,所以在用到的時候也只是去網上找下代碼。今天發現去網上找代碼還是會耗費一定時間的,於是耗費時間找代碼不如自己記錄下代碼以便下次使用。
上代碼:
#pragma mark --- 將時間轉換成時間戳記
- (NSString *)getTimestampFromTime{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; // ----------設定你想要的格式,hh與HH的區別:分別表示12小時制,24小時制
//設定時區,這個對於時間的處理有時很重要
//例如你在國內發布資訊,使用者在國外的另一個時區,你想讓使用者看到正確的發布時間就得注意時區設定,時間的換算.
//例如你發布的時間為2010-01-26 17:40:50,那麼在英國愛爾蘭那邊使用者看到的時間應該是多少呢?
//他們與我們有7個小時的時差,所以他們那還沒到這個時間呢...那就是把未來的事做了
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
[formatter setTimeZone:timeZone];
NSDate *datenow = [NSDate date];//現在時間,你可以輸出來看下是什麼格式
NSString *nowtimeStr = [formatter stringFromDate:datenow];//----------將nsdate按formatter格式轉成nsstring
NSLog(@"%@", nowtimeStr);
// 時間轉時間戳記的方法:
NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[datenow timeIntervalSince1970]];
NSLog(@"timeSp:%@",timeSp); //時間戳記的值
return timeSp;
}
#pragma mark ---- 將時間戳記轉換成時間
- (NSString *)getTimeFromTimestamp{
//將物件類型的時間轉換為NSDate類型
double time = 1504667976;
NSDate * myDate=[NSDate dateWithTimeIntervalSince1970:time];
//設定時間格式
NSDateFormatter * formatter=[[NSDateFormatter alloc]init];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
//將時間轉換為字串
NSString *timeStr=[formatter stringFromDate:myDate];
return timeStr;
} 同時希望能夠幫到同樣需要協助的朋友們。