时间戳和时间之间的转换

 //时间转时间戳
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
    //设置时区
    NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];//(这个不设置好像也没什么影响,可能是获取特定的时区时 使用)
    [formatter setTimeZone:timeZone];
    NSDate *datenow = [NSDate date];//现在时间
    NSString *currentTimeString = [formatter stringFromDate:datenow];
    //时间戳
    NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[datenow timeIntervalSince1970]];
   

    NSLog(@"currentTimeString:%@ \n%@",currentTimeString,timeSp);

项目中要使用到 整点的时间戳 

 //当前 小时的时间戳
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:@"YYYY-MM-dd HH:00:00"];//这里只要小时的
 
    NSDate *datenow = [NSDate date];//
    NSString *currentTimeString = [formatter stringFromDate:datenow];//获取当前的整点时间
    
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
    NSDate *date = [dateFormatter dateFromString:currentTimeString];
    
    NSString *timep = [NSString stringWithFormat:@"%ld", (long)[date timeIntervalSince1970]];
    NSLog(@"currentTimeString: %@ \n%@",currentTimeString,timep);

//时间字符串 转 时间戳

+ (NSString *)timeStringIntervalTimeStamp:(NSString *)tiemString {
    
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *date = [dateFormatter dateFromString:tiemString];
    NSString *timep = [NSString stringWithFormat:@"%ld", (long)[date timeIntervalSince1970]];
    
    return timep;
}
#pragma mark 时间戳转时间
+ (NSString *)timeWithTimeIntervalString:(NSString *)timeString
{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
    formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
    NSInteger time = [timeString integerValue];
    NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:time];
    NSString *dateString = [formatter stringFromDate:confromTimesp];
    //NSLog(@"%@",dateString);
    return dateString;
}


你可能感兴趣的:(时间戳和时间之间的转换)