日期 NSDate
本小节知识点
1:创建一个日期对象,获得当前日期
2:比较日期
3:格式化日期
4:把字符串转换成日期
详细内容请看下面代码:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//1:创建一个日期对象,获得当前日期
NSDate *date = [NSDate date];
NSLog(@"date为:%@",date);//开始的时候可能由于时区的关系而不准确
//2:比较日期
NSDate *nowDate = [NSDate date];
NSTimeInterval seconds = 24 * 60 * 60;
NSDate *yesterday = [nowDate addTimeInterval:-seconds];
//看日期是否相等
BOOL isEqua = [nowDate isEqual:yesterday];
if (isEqua) {
NSLog(@"相等");
}
else
{
NSLog(@"不相等");
}
//获得两个日期当中比较早的一个
NSDate *earlier = [yesterday earlierDate:nowDate];
NSLog(@"较早的日期:%@",earlier);
//获得两个日期当中比较晚的一个
NSDate *later = [yesterday laterDate:nowDate];
NSLog(@"较晚的日期:%@",later);
//3:格式化日期
NSDate *date1 = [NSDate date];
//表示格式化日期对象
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"yyyy/MM/dd hh:mm:ss" ];//2014/11/29 ,hh是十二进制,HH是二十四进制
//[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss" ];//2014-11-29
NSString *str = [formatter stringFromDate:date1];
NSLog(@"str为:%@",str);
//4:把字符串转换成日期
//首先你要书写一个规范的字符串类型的日期
NSString *str2 = @"2014-12-03";
NSDateFormatter *formatter2 = [[NSDateFormatter alloc]init];
[formatter2 setDateFormat:@"yyyy-MM-dd"];
NSDate *date3 = [formatter2 dateFromString:str2];
NSLog(@"date3为:%@",date3);
//处理时区问题
NSDate *date6 = [NSDate date];
NSDateFormatter *formatter6 = [[NSDateFormatter alloc]init];
[formatter6 setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *str6 = [formatter6 stringFromDate:date6];
//下步为时差设计方式,很多时候用不到,当你的电脑是美版系统,或者日版系统才会用到,咱们现在的电脑默认的就是UTC格式
//GTM好像是东八区什么的格式
[formatter6 setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSLog(@"str6 为:%@",str6);
}
return 0;
}