// 常用时间格式
@"yyyy-MM-dd HH:mm:ss"
@"yy-MM-dd HH:mm"
@"yyyy-MM-dd HH:mm"
@"yyyy-MM-dd"
@"MM-dd HH:mm:ss"
@"MM-dd HH:mm"
@"HH:mm:ss"
@"HH:mm"
@"MM-dd"
@"yy-MM-dd"
@"yyyyMMdd"
@"yyyyMMddHHmmss"
@"yyyy-MM-dd HH:mm:ss.SSS"
@"yyyyMMddHHmmssSSS"
@"yyyy/MM/dd"
@"yyyy-MM"
@"yyyy.MM.dd"
// 创建方法
NSDate *date = [NSDate date];
NSLog(@"date %@", date);
// 格式化日期(格式是为了正常显示中国时区日期,否则默认显示美国时区的日期)
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss:SSS";
NSString *dateString = [formatter stringFromDate:date];
NSLog(@"dateString %@", dateString);
// 表示从1970年1月1日0时0分0秒,开始计算
NSTimeInterval time = 300;
NSDate *date2 = [[NSDate alloc] initWithTimeIntervalSince1970:time];
NSLog(@"date2 %@", date2);
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss:SSS";
dateString = [formatter stringFromDate:date2];
NSLog(@"dateString %@", dateString);
// 表示从当前时间开始计算,为"+"时表示未来某个时间,为"-"时表示过去的某个时间
// 方法1
time = 24 * 60 * 60;
NSDate *date3 = [[NSDate alloc] initWithTimeIntervalSinceNow:time];
NSLog(@"date3 %@", date3);
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss:SSS";
dateString = [formatter stringFromDate:date3];
NSLog(@"dateString %@", dateString);
// 方法2
NSDate *data4 = [date dateByAddingTimeInterval:time];
NSLog(@"data4 %@", data4);
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss:SSS";
dateString = [formatter stringFromDate:data4];
NSLog(@"dateString %@", dateString);
// 方法3
NSDate *date5 = [date addTimeInterval:5 * 60];
NSLog(@"date5 %@", date5);
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss:SSS";
dateString = [formatter stringFromDate:date5];
NSLog(@"dateString %@", dateString);
// 日期转换成秒数
NSTimeInterval second = [date timeIntervalSinceReferenceDate];
NSLog(@"second %f", second);
second = [date timeIntervalSince1970];
NSLog(@"second %f", second);
second = [date timeIntervalSinceNow];
NSLog(@"second %f", second);
// 日期比较
BOOL isEqual = [data4 isEqualToDate:date];
if (isEqual)
{
NSLog(@"%@ 等于 %@", data4, date);
}
else
{
NSLog(@"%@ 不等于 %@", data4, date);
}