获取时间以及格式化--今天、昨天和明天
1、 获取今天
/*!
* @brief 获取今天
*/
// 1. 获取当前系统的准确事件(+8小时)
NSDate *date = [NSDate date]; // 获得时间对象
NSTimeZone *zone = [NSTimeZone systemTimeZone]; // 获得系统的时区
NSTimeInterval time = [zone secondsFromGMTForDate:date];// 以秒为单位返回当前时间与系统格林尼治时间的差
NSDate *dateNow = [date dateByAddingTimeInterval:time];// 然后把差的时间加上,就是当前系统准确的时间
2、获取昨天和明天
/*!
* @brief 获取昨天和明天
*/
NSTimeInterval secondsPerDay = 24 * 60 * 60;
NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceNow:-secondsPerDay];
NSTimeZone *zone = [NSTimeZone systemTimeZone]; // 获得系统的时区
NSTimeInterval time = [zone secondsFromGMTForDate:date];// 以秒为单位返回当前时间与系统格林尼治时间的差
//昨天
NSDate *yesterday = [date dateByAddingTimeInterval:time];
//明天
NSDate *tomorrow = [[NSDate alloc] initWithTimeIntervalSinceNow:secondsPerDay];
3、时间格式化
/*!
* @brief 时间格式化
*/
NSDate *date = [NSDate date]; // 获得时间对象
NSDateFormatter *forMatter = [[NSDateFormatter alloc] init];
[forMatter setDateFormat:@"HH-mm-ss yyyy-MM-dd"];
NSString *dateStr = [forMatter stringFromDate:date];
获取时间还可以用系统的NSCalendar。

浙公网安备 33010602011771号