【iOS】常见NSDate与时间戳转换
//时间戳转时间年⽉⽇
+ (NSString *)timeStringWithTimeInterval:(NSInteger)timeInterval {
NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeInterval]; //此处根据项⽬需求,选择是否除以1000 , 如果时间戳精确到秒则去掉1000    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
//    NSDate *currentDate = [NSDate date];//获取当前时间,⽇
//    NSDate *pastHalfHour = [currentDate dateByAddingTimeInterval:-3600]; // 半⼩时前是-1800  1⼩时后是3600  1⼩时前是-3600
//
string转date的方法//    NSInteger timeSp = [[NSNumber numberWithDouble:[pastHalfHour timeIntervalSince1970]] integerValue];
//    if (timeInterval < timeSp) {
//
//    }
formatter.dateFormat = @"YYYY-MM-dd  HH:mm:ss";
return [formatter stringFromDate:date];
//今天
//    if ([date isToday]) {
//
//        formatter.dateFormat = @"HH:mm";
//
//        return [formatter stringFromDate:date];
//    }else{
/
/
//        NSLog(@"%@", [formatter stringFromDate:date]);
//        //昨天
//        if ([date isYesterday]) {
//
//            formatter.dateFormat = @"昨天 HH:mm";
//            return [formatter stringFromDate:date];
//
//            //⼀周内 [date weekdayStringFromDate]
//        }else if ([date isSameWeek]){
//
/
/            formatter.dateFormat = [NSString stringWithFormat:@"%@ %@",[date weekdayStringFromDate],@"HH:mm"];
//            return [formatter stringFromDate:date];
//
//            //直接显⽰年⽉⽇
//        }else{
//
//            formatter.dateFormat = @"yy-MM-dd  HH:mm";
//            return [formatter stringFromDate:date];
//        }
//    }
//    return nil;
}
//时间戳转时间年⽉⽇
+ (NSString *)timeWithTimestamp:(NSInteger )timestamp format:(NSString *)format {
NSDate *date = [NSDate dateWithTimeIntervalSince1970:timestamp]; //此处根据项⽬需求,选择是否除以1000 , 如果时间戳精确到秒则去掉1000    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = format;
return [formatter stringFromDate:date];
}
+(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];
return timeSp;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。