iOS 之日期/时间段转换

来源:互联网 发布:网络策划方案 编辑:程序博客网 时间:2024/05/18 15:50

//将时间戳转换为时间    1274940724--20100527141204

-(NSString *)transferTimeStamp:(NSString *)timeStamp

{

    NSString *failed = @"read time failed length<10";

    

    if (timeStamp.length >= 10) {

        NSDateFormatter* formatter = [[NSDateFormatter alloc] init];

        [formatter setDateFormat:@"YYYY-MM-dd"];

        NSTimeInterval timecontent=[timeStamp doubleValue];

        NSDate *timeDate = [NSDate dateWithTimeIntervalSince1970:timecontent];

        NSString * time = [formatter stringFromDate:timeDate];

        NSRange y;

        y.location = 0;

        y.length = 4;

        NSString *year = [time substringWithRange:y];

        // NSLog(@"year%@",year);

        NSRange m;

        m.location = 5;

        m.length = 2;

        NSString *month = [time substringWithRange:m];

        // NSLog(@"month %@",month);

        NSRange d;

        d.location = 8;

        d.length = 2;

        NSString *day = [time substringWithRange:d];

        // NSLog(@"date%@",day);

        NSString * formateDate = [[NSString alloc]initWithString:year];

        formateDate = [formateDate stringByAppendingString:@""];

        formateDate = [formateDate stringByAppendingString:month];

        formateDate = [formateDate stringByAppendingString:@""];

        formateDate = [formateDate stringByAppendingString:day];

        formateDate = [formateDate stringByAppendingString:@""];

        // NSLog(@"%@",formateDate);

        NSDateFormatter* formatter2 = [[NSDateFormatter alloc] init];

        [formatter2 setDateFormat:@"HH:mm"];

        NSTimeInterval timecontent2=[timeStamp doubleValue];//strNSString类型

        NSDate *timeDate2 = [NSDate dateWithTimeIntervalSince1970:timecontent2];

        NSString * time2 = [formatter2 stringFromDate:timeDate2];

        ////////////下面功能可以增加

        //NSLog(@"%@",time2);

        //        NSRange h;

        //        h.location = 0;

        //        h.length = 2;

        //        NSString *hour = [time2 substringWithRange:h];

        //        NSRange min;

        //        min.location = 3;

        //        min.length = 2;

        //        NSString *minute = [time2 substringWithRange:min];

        //        NSRange sec;

        //        sec.location = 6;

        //        sec.length = 2;

        //        NSString *second = [time2 substringWithRange:sec];

        //        NSString *formateTime = [NSString stringWithString:hour];

        //        formateTime = [formateTime stringByAppendingString:@""];

        //        formateTime = [formateTime stringByAppendingString:minute];

        //        formateTime = [formateTime stringByAppendingString:@""];

        //        formateTime = [formateTime stringByAppendingString:second];

        //        formateTime = [formateTime stringByAppendingString:@""];

        formateDate = [formateDate stringByAppendingString:time2];

        return formateDate;

    }else{

        return failed;

    }

}

/////将当前时间某年某月某日,转换为1234567890类型时间

-(NSTimeInterval)getCommontDateTimeInterval

{

    //方法1

    NSDate *date = [NSDate date];

    NSTimeZone *zone = [NSTimeZone systemTimeZone];

    NSInteger interval = [zone secondsFromGMTForDate: date];

    NSDate *localeDate = [date  dateByAddingTimeInterval: interval];

    NSLog(@"当前时间%@", localeDate);

    NSString *timeStamp = [NSString stringWithFormat:@"%d", (int)time(NULL)];//

    NSLog(@"时间戳%@",timeStamp);

    NSTimeInterval timeInterval = [timeStamp doubleValue];

    //方法2

//    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

//    NSDate *now;

//    NSDateComponents *comps = [[NSDateComponents alloc] init];

//    NSInteger unitFlags = NSYearCalendarUnit |NSMonthCalendarUnit | NSDayCalendarUnit |NSWeekdayCalendarUnit |

//    NSHourCalendarUnit | NSMinuteCalendarUnit |NSSecondCalendarUnit;

//    now=[NSDate date];

//    comps = [calendar components:unitFlags fromDate:now];

//    int year=[comps year];

//    int week = [comps weekday];

//    int month = [comps month];

//    int day = [comps day];

//    int hour = [comps hour];

//    int min = [comps minute];

//    int sec = [comps second];

    

    return timeInterval;

}

0 0
原创粉丝点击