使用示例:
时间字符串转时间戳
NSDate *date = [self timeChangeDateWithTimeStr:@"2021-12-29 10:40:40"];
NSString *timestamp = [self dateTotimestamp:date];
NSLog(@"时间戳%@",timestamp); //1640745640.000000
时间戳转时间字符串
NSDate *temdate = [self timestampToDate:timestamp];
NSString *timestr = [self dateTotime:temdate];
NSLog(@"时间str%@",timestr); //2021-12-29 10:40:40
初始化dateFormatter
注意:
1、如果是毫秒改为"yyyy-MM-dd HH:mm:ss.SSS"
2、YYYY 是按照周来计算时间,如果是2021-12-29会计算为2022-12-29;yyyy是按照天来计算的,是我们常用的计算方式
- (NSDateFormatter *)getformatter{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Shanghai"]];
return formatter;
}
时间戳字符串转NSDate
- (NSDate *)timestampToDate:(NSString *)timeStamp {
NSString *arg = timeStamp;
if (![timeStamp isKindOfClass:[NSString class]]) {
arg = [NSString stringWithFormat:@"%@", timeStamp];
}
NSTimeInterval time = [arg doubleValue];
return [NSDate dateWithTimeIntervalSince1970:time];
}
NSDate转时间戳字符串
- (NSString *)dateTotimestamp:(NSDate *)date{
NSTimeInterval stamp = [date timeIntervalSince1970];
return [NSString stringWithFormat:@"%lf",stamp];
}
NSString转NSDate
- (NSDate *)timeChangeDateWithTimeStr:(NSString *)timeStr{
NSDateFormatter *formatter = [self getformatter];
NSDate *date = [formatter dateFromString:timeStr];
return date;
}
NSDate转NSString
- (NSString *)dateTotime:(NSDate *)date{
NSDateFormatter *formatter = [self getformatter];
NSString *dateString = [formatter stringFromDate:date];
NSLog(@"dateStr=%@",dateString);
return dateString;
}