iOS 时间类型转换
2017-03-22 本文已影响0人
Ice丶泽
//时间戳转时间yyyy-MM-dd
+(NSString *)getTimeFromShortTimeSp:(NSString *)shortTimeSp{
NSTimeInterval _interval=[shortTimeSp doubleValue];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval];
NSDateFormatter *objDateformat = [[NSDateFormatter alloc] init];
[objDateformat setDateFormat:@"yyyy-MM-dd"];
NSString * timeStampString = [objDateformat stringFromDate: date];
// NSLog(@"%@", timeStampString);
return timeStampString;
}
- (NSString *)timeFromTimestamp:(NSInteger)timestamp{
NSLog(@"%ld", timestamp);
NSDateFormatter *dateFormtter =[[NSDateFormatter alloc] init];
NSDate *d = [NSDate dateWithTimeIntervalSince1970:timestamp/1000.0];
NSTimeInterval late=[d timeIntervalSince1970]*1; //转记录的时间戳
NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
NSTimeInterval now=[dat timeIntervalSince1970]*1; //获取当前时间戳
NSString *timeString=@"";
NSTimeInterval cha=now-late;
NSLog(@"%f", cha);
// 发表在一小时之内
if (cha/3600<1) {
if (cha/60<1) {
timeString = @"1";
}
else
{
timeString = [NSString stringWithFormat:@"%f", cha/60];
timeString = [timeString substringToIndex:timeString.length-7];
}
timeString=[NSString stringWithFormat:@"%@分钟前", timeString];
}
// 在一小时以上24小以内
else if (cha/3600>1&&cha/86400<1) {
timeString = [NSString stringWithFormat:@"%f", cha/3600];
timeString = [timeString substringToIndex:timeString.length-7];
timeString=[NSString stringWithFormat:@"%@小时前", timeString];
}
// 发表在24以上10天以内
else if (cha/86400>1&&cha/86400*3<1) //86400 = 60(分)*60(秒)*24(小时) 3天内
{
timeString = [NSString stringWithFormat:@"%f", cha/86400];
timeString = [timeString substringToIndex:timeString.length-7];
timeString=[NSString stringWithFormat:@"%@天前", timeString];
}
// 发表时间大于10天
else
{
[dateFormtter setDateFormat:@"yyyy-MM-dd"];
timeString = [dateFormtter stringFromDate:d];
}
NSLog(@"%@", timeString);
return timeString;
}