1. 程式人生 > >iOS 獲取當前時間(戳)及差值

iOS 獲取當前時間(戳)及差值

一、獲取時間

1.獲取當前時間

+ (NSString *)getCurrentTime {
    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];//現在時間 NSString *currentDate = [formatter stringFromDate:datenow]; return currentDate; }

2.獲取兩個時間的間隔

/**持續時間*/
+ (long
long)getDurationStartTime:(NSString *)startTime endTime:(NSString *)endTime { if (startTime && endTime) { NSDateFormatter *strDateStr = [[NSDateFormatter alloc]init]; [strDateStr setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; NSDate *startdate = [strDateStr dateFromString:startTime]; NSDate *enddate = [strDateStr dateFromString:endTime]; //時間轉時間戳的方法:
NSTimeInterval aTime = [enddate timeIntervalSinceDate:startdate]; return (long long)aTime; } else { return -1; } }

二、時間戳

1.獲取當前時間戳

+ (NSString *)getCurrentTimeStamp {

    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];//現在時間

    //時間轉時間戳的方法:
    NSInteger timeSp = [[NSNumber numberWithDouble:[datenow timeIntervalSince1970]] integerValue];
    NSString *ts = [NSString stringWithFormat:@"%ld",(long)timeSp];//時間戳的值
    return ts;
}

2、時間戳取差值

/**持續時間*/
+ (long long)getDurationStartTime:(NSString *)startTime endTime:(NSString *)endTime {
    if (startTime && endTime) {
        long long aTime = [endTime longLongValue] - [startTime longLongValue];
        return aTime;
    } else {
        return -1;
    }
}