【我就看看不说话】NSDate 日期
来源:互联网 发布:mac小技巧 编辑:程序博客网 时间:2024/04/24 12:57
一、NSDate初始化
// 获取当前日期
NSDate *date = [NSDatedate];
// 打印结果: 当前时间 date = 2013-08-16 09:00:04 +0000
NSLog(@"当前时间 date = %@",date);
// 获取从某个日期开始往前或者往后多久的日期,此处60代表60秒,如果需要获取之前的,将60改为-60即可
date = [[NSDate alloc] initWithTimeInterval:60 sinceDate:[NSDate date]];
//打印结果:当前时间 往后60s的时间date = 2013-08-16 09:01:04 +0000
NSLog(@"当前时间往后60s的时间date = %@",date);
PS:测试时时间是下午5点,但是得到的当前时间却是上午9点,相差了8小时,是时区的问题
解决办法:
NSTimeZone *zone = [NSTimeZone systemTimeZone];
NSInteger interval = [zone secondsFromGMTForDate: date];
NSDate *localDate = [date dateByAddingTimeInterval: interval];
// 打印结果 正确当前时间 localDate = 2013-08-16 17:01:04 +0000
NSLog(@"正确当前时间 localDate = %@",localDate);
二、NSDate与NSString的转换
/*---- NSDate与NSString----*/
NSDateFormatter *dateFormatter =[[NSDateFormatteralloc] init];
// 设置日期格式
[dateFormatter setDateFormat:@"年月日 YYYY/mm/dd时间 hh:mm:ss"];
NSString *dateString = [dateFormatterstringFromDate:[NSDatedate]];
// 打印结果:dateString = 年月日 2013/10/16 时间 05:15:43
NSLog(@"dateString = %@",dateString);
// 设置日期格式
[dateFormatter setDateFormat:@"YYYY-MM-dd"];
NSString *year = [dateFormatterstringFromDate:[NSDatedate]];
// 打印结果:年月日 year = 2013-08-16
NSLog(@"年月日 year = %@",year);
// 设置时间格式
[dateFormatter setDateFormat:@"hh:mm:ss"];
NSString *time = [dateFormatter stringFromDate:[NSDate date]];
// 打印结果:时间 time = 05:15:43
NSLog(@"时间 time = %@",time);
三、日期的比较
/*----日期时间的比较----*/
// 当前时间
NSDate *currentDate = [NSDatedate];
// 比当前时间晚一个小时的时间
NSDate *laterDate = [[NSDatealloc] initWithTimeInterval:60*60sinceDate:[NSDatedate]];
// 比当前时间早一个小时的时间
NSDate *earlierDate = [[NSDatealloc] initWithTimeInterval:-60*60sinceDate:[NSDatedate]];
// 比较哪个时间迟
if ([currentDate laterDate:laterDate]) {
// 打印结果:current-2013-08-16 09:25:54 +0000比later-2013-08-16 10:25:54 +0000晚
NSLog(@"current-%@比later-%@晚",currentDate,laterDate);
}
// 比较哪个时间早
if ([currentDate earlierDate:earlierDate]) {
// 打印结果:current-2013-08-16 09:25:54 +0000 比 earlier-2013-08-16 08:25:54 +0000
NSLog(@"current-%@比 earlier-%@早",currentDate,earlierDate);
}
if ([currentDate compare:earlierDate]==NSOrderedDescending) {
// 打印结果
NSLog(@"current晚");
}
if ([currentDate compare:currentDate]==NSOrderedSame) {
// 打印结果
NSLog(@"时间相等");
}
if ([currentDate compare:laterDate]==NSOrderedAscending) {
// 打印结果
NSLog(@"current早");
}
- 【我就看看不说话】NSDate 日期
- 【我就看看不说话】NSAttributedString
- 【我就看看不说话】UIActivity
- 【我就看看不说话】 UIActionSheet
- 【我就看看不说话】UIAlertView
- 【我就看看不说话】UIAppearance
- 【我就看看不说话】UITextField
- 【我就看看不说话】 svn
- 【我就看看不说话】常用函数
- 【我就看看不说话】读取通讯录
- 【我就看看不说话】Block 使用
- 【我就看看不说话】nsstring 使用
- 【我就看看不说话】xcode 快捷键
- 【我就看看不说话】有用网站
- 【我就看看不说话】ios 指南
- 【我就看看不说话】自动布局
- 【我就看看不说话】UITextView NSTextContainer NSLayoutManager NSTextStorage
- 【我就看看不说话】证书的制作
- 第五讲
- HDOJ 汉诺塔V 1995
- YTU 1922: 猴子分桃
- 大数快速开方
- 123kan电影网前端
- 【我就看看不说话】NSDate 日期
- How to install WAMP
- 第4讲项目1-点阵图
- HDU ACM 5214 Movie ->贪心+自然溢出取模->水题里的学问
- Merge Intervals
- 有用的小常识
- RSA公钥密码算法的原理及实现(一)
- UVa 1616 Caravan Robbers
- PHP常用函数