常用的一些时间格式

1.NSString 转 NSDate格式:

- (NSDate *)stringToDate:(NSSTring *)str {
     NSDateFormatter *dateFormatter = [NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM"];//自己改变日期格式
    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:8]];//解决八小时时差的问题
    NSDate *myDate = [dateFormatter dateFromString:str];
    return myDate;
}

2.NSDate 转 NSString格式:

- (NSString *)dateToString:(NSDate *)dateTime {
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM"];//自己改变日期格式
    NSString *strDate = [dateFormatter stringFromDate:dateTime];
    return strDate;
}

3.两个相同的时间日期格式相减:

- (double)dateSecondDifference:(NSString *)startTime endTime:(NSString *)endTime {
    NSDateFormatter *date = [[NSDateFormatter alloc]init];
    [date setDateFormat:@"yyyyMMddHHmmss"];
    NSDate *startD =[date dateFromString:startTime];
    NSDate *endD = [date dateFromString:endTime];
    NSTimeInterval start = [startD timeIntervalSince1970]*1;
    NSTimeInterval end = [endD timeIntervalSince1970]*1;
    NSTimeInterval value = end - start;
    float timeF = (float)value;
    return timeF;
}

4.一个是日期格式,获取多少秒之后的日期写法:

- (NSString *)dateAddTime:(NSString *)startTime endTime:(NSString *)endTime {
    NSDateFormatter *date = [[NSDateFormatter alloc]init];
    [date setDateFormat:@"yyyyMMddHHmmss"];
    NSDate *startD =[date dateFromString:startTime];
    NSDate *endD = [date dateFromString:endTime];
    NSTimeInterval start = [startD timeIntervalSince1970]*1;
    NSTimeInterval end = [endD timeIntervalSince1970]*1;
    NSTimeInterval value = start + end;
    NSString *timDD = [self timeDateFormatted:value];
    return timDD;
}

- (NSString *)timeDateFormatted:(NSInteger)totalSeconds

{
    NSDate *date = [[NSDate alloc] initWithTimeIntervalSince1970:totalSeconds];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.dateFormat = @"yyyyMMddHHmmss";
    return [dateFormatter stringFromDate:date];
}

5.日期格式返回时分秒:

-(NSString *)getSSFromSS:(NSString *)totalTime{
    NSInteger seconds = [totalTime integerValue];
    //format of minute
    NSString *str_minute = [NSString stringWithFormat:@"%02ld",(seconds%3600)/60];
    //format of second
    NSString *str_second = [NSString stringWithFormat:@"%02ld",seconds%60];
    //format of time
    NSString *format_time = [NSString stringWithFormat:@"%@:%@",str_minute,str_second];
    return format_time; 
}

6.获取当前时间字符串格式:

- (NSString *)getGpsCurrentTime:(NSDate *)date {
    
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyyMMddHHmmss"];
    NSString *dateTime = [formatter stringFromDate:date];
    return dateTime;
}

7.获取当前时间date格式,转8小时制:

- (NSDate *)getCurrenDate {  
    NSDate *date = [NSDate date];
    NSTimeZone *zone = [NSTimeZone systemTimeZone];
    NSInteger interval = [zone secondsFromGMTForDate: date];
    NSDate *localeDate = [date  dateByAddingTimeInterval: interval];
    return localeDate;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大多...
    小李龍彪阅读 6,472评论 1 6
  • 在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大...
    真巧了_嘿阅读 2,827评论 0 7
  • 脾胃好不好,看看就知道,中医看病强调望、闻、问、切,平时观察五官就大致了解脾胃功能情况,现在就让我们也来看一下吧!...
    曹丞鈁湲阅读 432评论 0 2
  • 小组作业内容: 小组成员熊文 周永平 刘豫珊合作完成!
    刘珊613阅读 378评论 0 0