.h文件:
@interface Date : NSObject
+ (Date *)shareDate;
// 时间戳转日期
- (NSString *)getDateStringWithDateWithTimeIntervalSince1970:(NSTimeInterval)timeInterval formatString:(NSString *)formatString;
// 时间戳转时间
- (NSDate *)getDateWithTimeIntervalSince1970:(NSTimeInterval)timeInterval;
// 时间转时间戳
- (NSTimeInterval)getTimeIntervalWtihDate:(NSDate *)date;
// 日期格式化成字符串
- (NSString *)getdateStringFromDate:(NSDate *)date format:(NSString *)format;
// 字符串格式化成日期
- (NSDate *)getDateFromDateString:(NSString *)dateString format:(NSString *)format;
// 获取时间差
- (NSTimeInterval)getTimeDifference:(NSDate *)firstDate secondDate:(NSDate *)secondDate;
// 获得时间差字符串
- (NSString *)getTimeDifferenceString:(NSTimeInterval)timeInterval initiallyString:(NSString *)initiallyString;
@end
.M文件:
#import "Date.h"
@implementation Date
+ (Date *)shareDate
{
static Date * date;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
date = [[Date alloc] init];
});
return date;
}
// 时间戳转日期
- (NSString *)getDateStringWithDateWithTimeIntervalSince1970:(NSTimeInterval)timeInterval formatString:(NSString *)formatString
{
NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:timeInterval];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:formatString];
NSString *currentDateStr = [dateFormatter stringFromDate: detaildate];
return currentDateStr;
}
// 时间戳转时间
- (NSDate *)getDateWithTimeIntervalSince1970:(NSTimeInterval)timeInterval
{
NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:timeInterval];
return confromTimesp;
}
// 时间转时间戳
- (NSTimeInterval)getTimeIntervalWtihDate:(NSDate *)date{
return [date timeIntervalSince1970];
}
// 日期格式化成字符串
- (NSString *)getdateStringFromDate:(NSDate *)date format:(NSString *)format
{
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:format];
return [formatter stringFromDate:date];
}
// 字符串格式化成日期
- (NSDate *)getDateFromDateString:(NSString *)dateString format:(NSString *)format
{
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:format];
return [formatter dateFromString:dateString];
}
// 获取时间差
- (NSTimeInterval)getTimeDifference:(NSDate *)firstDate secondDate:(NSDate *)secondDate
{
NSTimeInterval seconds = [firstDate timeIntervalSinceDate:secondDate];
return seconds;
}
// 获得时间差字符串
- (NSString *)getTimeDifferenceString:(NSTimeInterval)timeInterval initiallyString:(NSString *)initiallyString
{
if (timeInterval >= 86400) {
int days = (int)timeInterval / 86400;
int hours = (int)timeInterval % 86400 / 3600;
int minuters = (int)timeInterval % 3600 / 60;
int seconds = (int)timeInterval % 60;
return [NSString stringWithFormat:@"%@%d天%d小时%d分钟%d秒",initiallyString,days,hours,minuters,seconds];
}else if (timeInterval < 86400 && timeInterval >= 3600) {
int hours = (int)timeInterval / 3600;
int minuters = (int)timeInterval % 3600 / 60;
int seconds = (int)timeInterval % 60;
return [NSString stringWithFormat:@"%@%d小时%d分钟%d秒",initiallyString,hours,minuters,seconds];
}else if (timeInterval < 3600 && timeInterval >= 60) {
int minuters = (int)timeInterval / 60;
int seconds = (int)timeInterval % 60;
return [NSString stringWithFormat:@"%@%d分钟%d秒",initiallyString,minuters,seconds];
}else if (timeInterval < 60 && timeInterval > 0) {
int seconds = (int)timeInterval % 60;
return [NSString stringWithFormat:@"%@%d秒",initiallyString,seconds];
}
return nil;
}
@end