//1.创建日期对象
//创建的NSDate对象,获得的永远是0时区的时间. 东八区, 加8个小时.
NSDate *date1 = [NSDate date];
NSLog(@"%@", date1);
//创建明天此时的日期,后一天
//时间间隔,是以秒为单位.
NSDate *tomorrowDate = [NSDate dateWithTimeIntervalSinceNow:24 * 60 * 60];
NSLog(@"%@", tomorrowDate);
//创建昨天此时的日期,前一天
NSDate *yesterdayDate = [NSDate dateWithTimeIntervalSinceNow:-24 * 60 * 60];
NSLog(@"%@", yesterdayDate);
//获取两个日期的时间间隔(tomorrowDate, yesterdayDate)
NSTimeInterval intervalTime = [tomorrowDate timeIntervalSinceDate:yesterdayDate];
NSLog(@"%g", intervalTime / 60 / 60 / 24);
//
NSTimeInterval intervalTime1 = [yesterdayDate timeIntervalSinceDate:tomorrowDate];
NSLog(@"%g", intervalTime1 / 60 / 60 /24);
//比较日期的早晚.
//(tomorrowDate, yesterdayDate
//(1)获取两个日期中较早的日期
NSDate *ealerDate = [tomorrowDate earlierDate:yesterdayDate];
NSLog(@"%@", ealerDate);
//(2)获取两个日期中较晚的日期
NSDate *laterDate = [tomorrowDate laterDate:yesterdayDate];
NSLog(@"%@", laterDate);
//(3)比较两个日期
NSComparisonResult result = [tomorrowDate compare:yesterdayDate];
NSLog(@"%ld", result);
//计算当前时间和固定时间的差值
NSDate *nowDate = [NSDate date]; //当前时间
NSDate *date2 = [NSDate dateWithTimeInterval:3600 * 23 sinceDate:nowDate];
NSTimeInterval intervalTime2 = [date2 timeIntervalSinceDate:nowDate]; //固定时间
if (intervalTime2 < 60) {
NSLog(@"刚刚...");
} else if (intervalTime2 <= 3600) {
NSLog(@"%g分钟前...", intervalTime2 / 60);
} else if (intervalTime2 <= 3600 * 24) {
NSLog(@"%g小时前...", intervalTime2 / 60 / 60);
} else {
NSLog(@"%g天前...", intervalTime2 / 3600 / 24);
}
//NSDateFormatter 是一个日期格式类,将日期以一个格式进行转换,(原理,转换成字符串). 另外也可将日期格式串转换为NSDate对象
//NSDate *date = [NSDate date];
//创建日期格式对象
//NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//指定日期格式
// HH 表示24小时制, hh 表示12小时制
// MM 表示月份, mm 表示分钟
// dd 表示当月天数, DD 表示当天处于本年的第几天.
// ss 表示秒数,
// 如果年份为两个y, 则只显示年份的后两位,如果给其他个数的y,都是显示完整的年份
// 例如MM等 如果给两位,则月份如果是一位时,前面补0.
// [formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
//设置日期的格式
[formatter setDateStyle:NSDateFormatterFullStyle];
//设置时间的格式
[formatter setTimeStyle:NSDateFormatterFullStyle];
//将日期按照指定格式转换为日期格式串
NSString *dateStr = [formatter stringFromDate:date];
NSLog(@"%@", dateStr);
//将日期格式串转换为NSDate对象
//@"2008-08-08 20:08:08"
//NSString *dateStr = @"2008-08-08 20:08:08";
NSString *dateStr = @"2014年05月01日 10点23分18秒";
//创建日期格式化对象(一定要和日期格式串中的日期格式保持一致)
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//设置日期格式
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//将格式字符串转化为NSDate对象
NSDate *date = [formatter dateFromString:dateStr];
NSLog(@"%@", date);
//将日期格式串转换为NSDate对象
//@"2008-08-08 20:08:08"
//NSString *dateStr = @"2008-08-08 20:08:08";
NSString *dateStr = @"2014年05月01日 10点23分18秒";
//创建日期格式化对象(一定要和日期格式串中的日期格式保持一致)
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//设置日期格式
[formatter setDateFormat:@"yyyy年MM月dd日 HH点mm分ss秒"];
//将格式字符串转化为NSDate对象
NSDate *date = [formatter dateFromString:dateStr];
NSLog(@"%@", date);
OC之NSDate
最新推荐文章于 2024-03-25 09:00:00 发布