开发小技巧-日期格式转换

写在开头

在开发过程中,经常要用到日期格式的转换,加之,网上博客对于日期格式转换的方法国语冗杂,小编特此总结一下,分享给各位读者,如有问题可以在公众号后台留言。

yyyy-MM-dd HHmmss转换成yyyyMMddHHmmss的方法

方法一:利用字符串替换方法生成指定的样式,此方法很暴力但不是最好:

1
2
3
4
5
6
7
8
- (NSString *)getConvertDateToSameStrle:(NSString *)dateStr{
dateStr = [dateStr stringByReplacingOccurrencesOfString:@" " withString:@""];//去除空格
NSString *symbolStr = [dateStr stringByReplacingOccurrencesOfString:@"-" withString:@""];//去除‘—’
symbolStr = [symbolStr stringByReplacingOccurrencesOfString:@":" withString:@""];//去除':'
return symbolStr;
}

方法二:利用NSDateFormatter类对日期格式进行规范,建议将该方法写在NSString分类里:

1
2
3
4
5
6
7
8
9
- (NSString *)dateString{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *tempDate = [formatter dateFromString:self];
NSDateFormatter *formatter2 = [[NSDateFormatter alloc] init];
[formatter2 setDateFormat:@"yyyyMMddHHmmss"];
return [formatter2 stringFromDate:tempDate];
}

方法二可以适用多种日期格式转换的场景,使用基本步骤如下:

1、创建一个NSDateFormatter实例,指定日期当前格式,生成对应的NSDate对象;
2、再次创建一个NSDateFormatter实例,指定要转换的日期格式,调用下面的方法就可以完成转换;

1
- (NSString *)stringFromDate:(NSDate *)date;

最后,我把有关日期格式转换的方法上传至我的Github库,具体包含内容如下:

NSDictionary+Utils

- (NSString *)jsonString; //转换成Json字符串

- (NSData *)jsonData; //转换成Json数据

NSData+Utils

- (NSDictionary *)toDictionary; //转换成字典

- (NSString *)string; //转换成字符串

NSString+Utils

- (NSData *)data; //转换成数据

- (NSDictionary *)dictionary; //转换成对应的字典

- (NSString *)dateString; //转换日期字符串显示格式,如:2016-03-12 10:20:30转换为 20160312102030的方法

- (NSDate *)date; //转换成对应时间对象的方法

- (NSString *)dateStringFromTimeStamp; //将时间戳转换成日期字符串

- (NSDate *)dateFromTimeStamp; //将时间戳转换成日期对象

NSDate+Utils

+ (NSString *)CurrentTime; //获取当前时间的字符串

+ (NSString *)CurrentTimeAll; //获取指定日期的字符串

- (NSString *)dueDateTime; //获取指定日期的时间戳:yyyyMMddHHmmss

- (NSString *)unixTimeStamp; //获取指定日期的Unix时间戳

- (long long)timeStamp; //返回数字类型的时间戳

UIView+Utils

- (UIImage *)screenShootWithScale:(CGFloat)scale targetImageSize:(CGSize)imageSize; //进行截图

Tools:通用工具类

+ (UIImage *)screenImageWithSize:(CGSize)imageSize; // 获取当前屏幕的截图,包含整个屏幕

+ (UIImage *)screenImageWithView:(UIView *)targetView Size:(CGSize)imageSize isOpaque:(BOOL)isOpaque scale:(CGFloat)scale; // 获取当前屏幕的截图,包含整个屏幕

BaseObject:内部实现JSON解析的model基类
Jack_lin wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!