您的位置:首页 > 移动开发 > IOS开发

iOS 之日期/时间段转换

2014-12-24 11:16 260 查看
//将时间戳转换为时间 1274940724--2010年05月27日14时12分04秒

-(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];//str是NSString类型

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: