NSDate,时间戳,字符串之间相互转化(一)
总结一些关于NSDate转化字符串/时间戳一些常见的使用方法
1.NSDate与时间戳之间的相互转化
// mark -- NSDate转化为时间戳
- (NSString *)getTimeStampFromDate:(NSDate*)date{
// *1000 是精确到毫秒,不乘就是精确到秒
NSTimeInterval timeInterval = [date timeIntervalSince1970];
return [NSString stringWithFormat:@"%.0f", timeInterval];
}
// mark -- 时间戳转化NSDate
- (NSDate*)getDateFromTimeStamp:(NSString*)timeStamp{
//注意 /1000 是服务器返回13位为精确到毫秒的 否则不用 /1000
CGFloat time = [timeStamp doubleValue];
return [NSDate dateWithTimeIntervalSince1970:time];
}
2.NSDate与时间字符串之间的相互转化
// mark -- NSDate转化时间字符串
-(NSString *)getDateStringFromDate:(NSDate*)date;{
//实例化一个NSDateFormatter对象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//设定时间格式,这里可以设置成自己需要的格式
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//返回时间字符串
return [dateFormatter stringFromDate:date];
}
// mark -- 时间字符串转化NSDate
-(NSDate*)getDateFromTimeString:(NSString*)timeString;{
//实例化一个NSDateFormatter对象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//设定时间格式,这里可以设置成自己需要的格式
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//返回时间NSDate
return [dateFormatter dateFromString:timeString];
}
3.时间戳与时间字符串之间的相互转化
// mark -- 时间戳转化时间字符串
- (NSString*)getTimeStringFromTimeStamp:(NSString*)timeStamp{
//根据时间戳转NSDate --> 转换成标准时间
NSDate*date = [self getDateFromTimeStamp:timeStamp];
//实例化一个NSDateFormatter对象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//设定时间格式,这里可以设置成自己需要的格式
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//返回完整的时间
return [dateFormatter stringFromDate:date];
}
// mark -- 时间字符串转化时间戳
-(NSString*)getTimeStampFromTimeString:(NSString*)timeString;{
//实例化一个NSDateFormatter对象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//设定时间格式,这里可以设置成自己需要的格式
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//将字符串转换为时间对象
NSDate*tempDate = [dateFormatter dateFromString:timeString];
//字符串转成时间戳,精确到毫秒*1000
return [NSString stringWithFormat:@"%f", [tempDate timeIntervalSince1970]];
}
4.补充: 获取当前时间NSDate / 当前时间字符串
// mark -- 获取当前时间NSDate
- (NSDate*)getCurrentDate{
return[NSDate date];
}
// mark -- 获取当前时间字符串
- (NSString*)getCurrentDateString{
//实例化一个NSDateFormatter对象
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//设定时间格式,这里可以设置成自己需要的格式
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
NSDate*currentDate = [NSDate date];
return [formatter stringFromDate:currentDate];
}