IOS 时间一些笔记

来源:互联网 发布:ab压力测试nginx 编辑:程序博客网 时间:2024/05/16 09:29

。h


////  TimeOperation.h//  gtg1.0////  Created by linpeng on 14-2-28.//  Copyright (c) 2014年 lijx. All rights reserved.//#import <Foundation/Foundation.h>@interface TimeOperation : NSObject#pragma mark 距离当前时间  返回距离当前 是多少天前/后+(NSString *)RemainingCarlend:(NSString *)startTime;#pragma mark 距离当前时间 返回距离当前 多少时间+(NSString *)RemainingTime:(NSString *)startTime;#pragma mark 距离当前时间 返回距离当前 多少时间   2014-02-28 11:12:13  return  11:12+(NSString *)SubCurrentTime:(NSString *)currenTime;#pragma mark - 字符串转时间+(NSDate *) stringToDate:(NSString *)dateStr;#pragma mark - 时间转字符串+(NSString *) dateToString:(NSDate *)date vFormate:(NSString *)formate;#pragma mark - 获取两个时间差+(NSInteger)daysWithinEraFromDate:(NSDate *) startDate toDate:(NSDate *) endDate;#pragma mark - 获取两个时间差+(NSInteger)daysWithinEraFromString:(NSString *) startDate toDate:(NSString *) endDate;#pragma mark - 获取两个时间差+(float)hoursWithinEraFromDate:(NSDate *) startDate toDate:(NSDate *) endDate;#pragma mark - 获取两个时间差+(float)hoursWithinEraFromString:(NSString *) startDate toDate:(NSString *) endDate;#pragma mark - 时间戳转字符串时间+(NSString *)TimeStampChangeToStr:(NSString *)date;#pragma mark - 时间戳转字符串时间(对应格式)+(NSString *)TimeStampChangeToStrWithFormate:(NSString *)date vFormate:(NSString *)formate;@end



。m

////  TimeOperation.m//  gtg1.0////  Created by linpeng on 14-2-28.//  Copyright (c) 2014年 lijx. All rights reserved.//#import "TimeOperation.h"@implementation TimeOperation#pragma mark 距离当前时间 返回距离当前 多少时间   2014-02-28 11:12:13  return  11:12+(NSString *)SubCurrentTime:(NSString *)currenTime{    @try {        return [currenTime substringWithRange:NSMakeRange(11, 5)];    }    @catch (NSException *exception) {        return @"未定义";    }        }#pragma mark 距离当前时间 返回距离当前 多少时间+(NSString *)RemainingTime:(NSString *)startTime{    NSDate *now=[NSDate date];    NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];      //默认转换为本时区时间    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];       //设置日期的格式及时间    NSString *str=[dateFormatter stringFromDate:now];//将NSDate转化为string        NSString *dateContent;    //创建了两个日期对象    NSDate *date1=[dateFormatter dateFromString:startTime];    NSDate *date2=[dateFormatter dateFromString:str];        NSTimeInterval time=[date1 timeIntervalSinceDate:date2];    if(time<0)    {        dateContent = @"结束";        return dateContent;    }    if (time/3600.0<1) {        dateContent = [NSString stringWithFormat:@"%f", time/60];        dateContent = [dateContent substringToIndex:dateContent.length-7];        dateContent=[NSString stringWithFormat:@"%@分钟后", dateContent];            }    if (time/3600.0>1&&time/86400.0<1) {        dateContent = [NSString stringWithFormat:@"%f", time/3600];        dateContent = [dateContent substringToIndex:dateContent.length-7];        dateContent=[NSString stringWithFormat:@"%@小时后", dateContent];    }    if (time/86400.0>1)    {        dateContent = [NSString stringWithFormat:@"%f", time/86400];        dateContent = [dateContent substringToIndex:dateContent.length-7];        dateContent=[NSString stringWithFormat:@"%@天", dateContent];            }    return dateContent;}#pragma mark 距离当前时间  返回距离当前 是多少天前/后+(NSString *)RemainingCarlend:(NSString *)startTime{    NSDate *now=[NSDate date];    NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];      //默认转换为本时区时间    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];       //设置日期的格式及时间    NSString *str=[dateFormatter stringFromDate:now];//将NSDate转化为string        NSString *dateContent;    //创建了两个日期对象    NSDate *date1=[dateFormatter dateFromString:startTime];    NSDate *date2=[dateFormatter dateFromString:str];        NSTimeInterval time=[date1 timeIntervalSinceDate:date2];    int days =time/86400;    if(days>=0)    {        if (time/3600>1&&time/86400<1)//不超过24小时的  标注未明天        {            return @"明天";        }        switch (days) {            case 0:                dateContent=@"今天";                break;            case 1:                dateContent=@"明天";                break;            case 2:                dateContent=@"后天";                break;                            default:                dateContent=[NSString stringWithFormat:@"%d天后",days];                break;        }            }    else    {        switch (days) {            default:                dateContent=[NSString stringWithFormat:@"%d天前",0-days];                break;        }            }    return dateContent;    }#pragma mark - 获取两个时间差 天+(NSInteger)daysWithinEraFromDate:(NSDate *) startDate toDate:(NSDate *) endDate{    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];    unsigned int unitFlags = NSDayCalendarUnit;    NSDateComponents *comps = [gregorian components:unitFlags fromDate:startDate  toDate:endDate  options:0];    int days = [comps day];    return days;}#pragma mark - 字符串转时间+(NSDate *) stringToDate:(NSString *)dateStr{    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];    NSDate *date = [dateFormatter dateFromString:dateStr];    return date;}#pragma mark - 时间转字符串+(NSString *) dateToString:(NSDate *)date vFormate:(NSString *)formate{    //实例化一个NSDateFormatter对象    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];    //设定时间格式,这里可以设置成自己需要的格式    [dateFormatter setDateFormat:formate];    //用[NSDate date]可以获取系统当前时间    return [dateFormatter stringFromDate:date];}#pragma mark - 获取两个时间差 天+(NSInteger)daysWithinEraFromString:(NSString *) startDate toDate:(NSString *) endDate;{    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];    unsigned int unitFlags = NSDayCalendarUnit;    NSDateComponents *comps = [gregorian components:unitFlags fromDate:[self stringToDate:startDate]  toDate:[self stringToDate:endDate]  options:0];    int days = [comps day];    return days;}#pragma mark - 获取两个时间差  小时+(float)hoursWithinEraFromString:(NSString *) startDate toDate:(NSString *) endDate;{    NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];      //默认转换为本时区时间    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];       //设置日期的格式及时间    NSDate *date1=[dateFormatter dateFromString:startDate];    NSDate *date2=[dateFormatter dateFromString:endDate];    NSTimeInterval time=[date2 timeIntervalSinceDate:date1];    float hours = time/3600.0;    return hours;}#pragma mark - 获取两个时间差 小时+(float)hoursWithinEraFromDate:(NSDate *) startDate toDate:(NSDate *) endDate{    NSTimeInterval time=[endDate timeIntervalSinceDate:startDate];    float hours = time/3600.0;    return hours;}#pragma mark - 时间戳转字符串时间+(NSString *)TimeStampChangeToStr:(NSString *)date{    if (![date isKindOfClass:[NSString class]]) {        date = [NSString stringWithFormat:@"%@", date];    }    NSLog(@"%d",date.length);    NSString *lastActTime = @"暂无";    if (date&&date.length>=13) {        long long data = [date longLongValue]/1000;        NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:data];        //实例化一个NSDateFormatter对象        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];        //设定时间格式,这里可以设置成自己需要的格式        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];        //用[NSDate date]可以获取系统当前时间        lastActTime = [dateFormatter stringFromDate:confromTimesp];    }else    {        NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:[date longLongValue]];        //实例化一个NSDateFormatter对象        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];        //设定时间格式,这里可以设置成自己需要的格式        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];        //用[NSDate date]可以获取系统当前时间        lastActTime = [dateFormatter stringFromDate:confromTimesp];    }    return lastActTime;}#pragma mark - 时间戳转字符串时间(对应格式)+(NSString *)TimeStampChangeToStrWithFormate:(NSString *)date vFormate:(NSString *)formate{    if (![date isKindOfClass:[NSString class]]) {        date = [NSString stringWithFormat:@"%@", date];    }    NSLog(@"%d",date.length);    NSString *lastActTime = @"暂无";    if (date&&date.length>=13) {        long long data = [date longLongValue]/1000;        NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:data];        //实例化一个NSDateFormatter对象        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];        //设定时间格式,这里可以设置成自己需要的格式        [dateFormatter setDateFormat:formate];        //用[NSDate date]可以获取系统当前时间        lastActTime = [dateFormatter stringFromDate:confromTimesp];    }else    {        NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:[date longLongValue]];        //实例化一个NSDateFormatter对象        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];        //设定时间格式,这里可以设置成自己需要的格式        [dateFormatter setDateFormat:formate];        //用[NSDate date]可以获取系统当前时间        lastActTime = [dateFormatter stringFromDate:confromTimesp];    }    return lastActTime;}@end


0 0
原创粉丝点击