iOS 时间格式转化总结(七种)
来源:互联网 发布:openstack nova源码 编辑:程序博客网 时间:2024/06/01 07:22
#pragma mark - 将某个时间转化成 时间戳+(NSInteger)timeSwitchTimestamp:(NSString *)formatTime andFormatter:(NSString *)format{ NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateStyle:NSDateFormatterMediumStyle]; [formatter setTimeStyle:NSDateFormatterShortStyle]; [formatter setDateFormat:format]; //(@"YYYY-MM-dd hh:mm:ss") ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制 NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"]; [formatter setTimeZone:timeZone]; NSDate* date = [formatter dateFromString:formatTime]; //------------将字符串按formatter转成nsdate //时间转时间戳的方法: NSInteger timeSp = [[NSNumber numberWithDouble:[date timeIntervalSince1970]] integerValue]; NSLog(@"将某个时间转化成 时间戳&&&&&&&timeSp:%ld",(long)timeSp); //时间戳的值 return timeSp; }//时间戳转成时间//字符串转为时间,时间格式自己定+(NSString *)timestampSwitchTime:(NSString *)time{// NSString * time = @"594947489";//时间字符串 NSInteger num = [time integerValue];//转为int型 NSDateFormatter * formatter = [[NSDateFormatter alloc] init];//时间管理 [formatter setDateStyle:NSDateFormatterMediumStyle];//时间方式 [formatter setTimeStyle:NSDateFormatterShortStyle]; [formatter setDateFormat:@"YYYY-MM-dd"]; NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"]; [formatter setTimeZone:timeZone]; NSDate * confromTime = [NSDate dateWithTimeIntervalSince1970:num]; NSString * comfromTimeStr = [formatter stringFromDate:confromTime]; NSLog(@"%@",comfromTimeStr); return comfromTimeStr;}//GMT只需要将代码中的UTC替换为GMT即可//将本地日期字符串转为UTC日期字符串//本地日期格式:2013-08-03 12:53:51//可自行指定输入输出格式+ (NSString *)getUTCFormateLocalDate:(NSString *)localDate { NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //输入格式 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSDate *dateFormatted = [dateFormatter dateFromString:localDate];NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"]; [dateFormatter setTimeZone:timeZone]; //输出格式 [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"]; NSString *dateString = [dateFormatter stringFromDate:dateFormatted]; return dateString;}//将UTC日期字符串转为本地时间字符串//输入的UTC日期格式2013-08-03T04:53:51+0000+ (NSString *)getLocalDateFormateUTCDate:(NSString *)utcDate { NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //输入格式 [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"]; NSTimeZone *localTimeZone = [NSTimeZone localTimeZone]; [dateFormatter setTimeZone:localTimeZone]; NSDate *dateFormatted = [dateFormatter dateFromString:utcDate]; //输出格式 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSString *dateString = [dateFormatter stringFromDate:dateFormatted]; return dateString;}//将GMT日期字符串转为本地时间字符串//输入的GMT日期格式Tue May 31 17:46:55 +0800 2011+ (NSString *)getLocalDateFormateGMTDate:(NSString *)gmtDate{ // 时间字符串// NSString *string = @"Tue May 31 17:46:55 +0800 2011"; // 日期格式化类 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; dateFormatter.dateFormat = @"EEE MMM dd HH:mm:ss Z yyyy"; //fmt.dateFormat = @"EEE MMM dd HH:mm:ss ZZZZ yyyy"; // 设置语言区域 NSTimeZone *localTimeZone = [NSTimeZone localTimeZone]; [dateFormatter setTimeZone:localTimeZone]; NSDate *dateFormatted = [dateFormatter dateFromString:gmtDate]; //输出格式 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSString *dateString = [dateFormatter stringFromDate:dateFormatted]; return dateString;}//方式二 后台给的格式为 纯数字1352170595000(13位)+(NSString *)updateTimeForRow:(NSString *)str { // 获取当前时时间戳 1466386762.345715 十位整数 6位小数 NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970]; // 创建歌曲时间戳(后台返回的时间 一般是13位数字) NSTimeInterval createTime =[str floatValue]/1000; // 时间差 NSTimeInterval time = currentTime - createTime; //秒转分钟 NSInteger small = time / 60; if (small == 0) { return [NSString stringWithFormat:@"刚刚"]; } if (small < 60) { return [NSString stringWithFormat:@"%ld分钟前",small]; } // 秒转小时 NSInteger hours = time/3600; if (hours<24) { return [NSString stringWithFormat:@"%ld小时前",hours]; } //秒转天数 NSInteger days = time/3600/24; if (days < 30) { return [NSString stringWithFormat:@"%ld天前",days]; } //秒转月 NSInteger months = time/3600/24/30; if (months < 12) { return [NSString stringWithFormat:@"%ld月前",months]; } //秒转年 NSInteger years = time/3600/24/30/12; return [NSString stringWithFormat:@"%ld年前",years];}//方式一 后台给的格式为yyyy-MM-dd HH:mm:ss.SSS+(NSString *) compareCurrentTime:(NSString *)str{ //把字符串转为NSdate NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSDate *timeDate = [dateFormatter dateFromString:str]; NSDate *currentDate = [NSDate date]; //得到两个时间差 NSTimeInterval timeInterval = [currentDate timeIntervalSinceDate:timeDate]; long temp = 0; NSString *result; if (timeInterval/60 < 1) { result = [NSString stringWithFormat:@"刚刚"]; } else if((temp = timeInterval/60) <60){ result = [NSString stringWithFormat:@"%ld分钟前",temp]; } else if((temp = temp/60) <24){ result = [NSString stringWithFormat:@"%ld小时前",temp]; } else if((temp = temp/24) <30){ result = [NSString stringWithFormat:@"%ld天前",temp]; } else if((temp = temp/30) <12){ result = [NSString stringWithFormat:@"%ld月前",temp]; } else{ temp = temp/12; result = [NSString stringWithFormat:@"%ld年前",temp]; } return result;}
阅读全文
0 0
- iOS 时间格式转化总结(七种)
- iOS开发之时间格式的转化
- iOS 时间格式转化合集
- iOS开发中时间格式的转化
- iOS时间格式转换总结
- IOS 时间格式 时间转换 大总结
- IOS 时间格式 时间转换 大总结
- IOS 时间格式 时间转换 大总结
- iOS 时间格式 时间转换 大总结
- iOS 时间格式(时间格式转换)
- SQL 时间格式转化
- 数据库时间格式转化
- 时间格式转化
- VC时间格式转化
- 数据库时间格式转化
- getTimeInMillis());转化时间格式
- Swift 时间格式转化
- 时间的转化格式
- Android项目尺寸规范
- ES6字符串扩展
- MySQL(2)数据类型与操作数据表
- Keepalived
- activiti
- iOS 时间格式转化总结(七种)
- 求1+2!+3!+...+20!的和
- QTableWidget设置网格线粗细 单元格中添加控件并居中
- ssh_status的session处理
- 新的开始
- 定时备份SQL SERVER的数据库并且把备份文件复制到另外一台服务器保存
- SQL Server中nvarchar和varchar的区别
- linux下的各种shell介绍(bash和dash转换)
- 学习mysql事务