1. 程式人生 > >iOS 開發 時間與時間戳的相互轉化

iOS 開發 時間與時間戳的相互轉化

//獲取當前系統時間的時間戳

pragma mark - 獲取當前時間的 時間戳

+(NSInteger)getNowTimestamp{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"
]; // ----------設定你想要的格式,hh與HH的區別:分別表示12小時制,24小時制 //設定時區,這個對於時間的處理有時很重要 NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"]; [formatter setTimeZone:timeZone]; NSDate *datenow = [NSDate date];//現在時間 NSLog(@"裝置當前的時間:%@",[formatter stringFromDate:datenow]); //時間轉時間戳的方法: NSInteger
timeSp = [[NSNumber numberWithDouble:[datenow timeIntervalSince1970]] integerValue]; NSLog(@"裝置當前的時間戳:%ld",(long)timeSp); //時間戳的值 return timeSp; }

//將某個時間轉化成 時間戳

pragma mark - 將某個時間轉化成 時間戳

+(NSInteger)timeSwitchTimestamp:(NSString *)formatTime andFormatter:(NSString *)format{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:format]; //(@"YYYY-MM-dd hh:mm:ss") ----------設定你想要的格式,hh與HH的區別:分別表示12小時制,24小時制
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"]; [formatter setTimeZone:timeZone]; NSDate* date = [formatter dateFromString:formatTime]; //------------將字串按formatter轉成nsdate //時間轉時間戳的方法: NSInteger timeSp = [[NSNumber numberWithDouble:[date timeIntervalSince1970]] integerValue]; NSLog(@"將某個時間轉化成 時間戳&&&&&&&timeSp:%ld",(long)timeSp); //時間戳的值 return timeSp; }

//將某個時間戳轉化成 時間

pragma mark - 將某個時間戳轉化成 時間

+(NSString *)timestampSwitchTime:(NSInteger)timestamp andFormatter:(NSString *)format{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:format]; // (@"YYYY-MM-dd hh:mm:ss")----------設定你想要的格式,hh與HH的區別:分別表示12小時制,24小時
    NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
    [formatter setTimeZone:timeZone];
    NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:timestamp];
    NSLog(@"1296035591  = %@",confromTimesp);
    NSString *confromTimespStr = [formatter stringFromDate:confromTimesp];
    //NSLog(@"&&&&&&&confromTimespStr = : %@",confromTimespStr);
    return confromTimespStr;
}