1、在.h文件
#import <Foundation/Foundation.h>
typedef enum{
QHIntTypeRound = 0, //四舍五入
QHIntTypeCeil = 1, //向上取值
QHIntTypeFloor = 2, //向下取值
}QHIntType;
@interface NSObject (timeStamp)
+ (NSString *)timechange:(NSString *)timeStr withFormat:(NSString *)format;
+ (NSString *)saveLength:(NSInteger)length andOldStr:(NSString *)str andType:(QHIntType)qhType;
@end
2、在.m文件
#import "NSObject+timeStamp.h"
@implementation NSObject (timeStamp)
+ (NSString *)timechange:(NSString *)timeStr withFormat:(NSString *)format
{
if (timeStr.length>9) {
NSTimeInterval time =[[timeStr substringToIndex:10] doubleValue];
NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time];
//实例化一个NSDateFormatter对象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//设定时间格式,这里可以设置成自己需要的格式
[dateFormatter setDateFormat:format];
NSString *currentDateStr = [dateFormatter stringFromDate: detaildate];
return currentDateStr;
}else {
NSTimeInterval time =[timeStr doubleValue];
NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time];
//实例化一个NSDateFormatter对象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//设定时间格式,这里可以设置成自己需要的格式
[dateFormatter setDateFormat:format];
NSString *currentDateStr = [dateFormatter stringFromDate: detaildate];
if (timeStr.length<1) {
return @"";
}
return currentDateStr;
// return QHLocalizedString(@"CurrencyExchangeCommissionNoNet", nil);
}
}
+ (NSString *)saveLength:(NSInteger)length andOldStr:(NSString *)str andType:(QHIntType)qhType{
if (!str) {
return @"";
}
NSString *resultStr;
NSArray *array = [str componentsSeparatedByString:@"."];
if (array.count >1) {
NSString *firstt = array[0];
NSString *second = array[1];
if (second.length > length) {
NSRange range = {length,1};
NSString *round = [second substringWithRange:range];
NSString *newStr = [second substringToIndex:length];
switch (qhType) {
case QHIntTypeRound:
{
if ([round intValue]>length) {
newStr = [NSString stringWithFormat:@"%@",@([newStr intValue]+1)];
}
}
break;
case QHIntTypeCeil:
{
newStr = [NSString stringWithFormat:@"%@",@([newStr intValue]+1)];
}
break;
case QHIntTypeFloor:{
}
default:
break;
}
resultStr = [NSString stringWithFormat:@"%@.%@",firstt,newStr];
return resultStr ;
}else{
return str;
}
}else{
return str;
}
}
@end
3、说明:第一方法是将时间戳转换成指定时间格式,第二方法是将传入的数值保留指定小数后进行四舍五入、向上取值、向下取值等操作。