iOS开发-基础:NSDate管理日期和时间

来源:互联网 发布:张家港房产网成交数据 编辑:程序博客网 时间:2024/06/09 05:49

文章转自: http://blog.sina.com.cn/s/blog_71715bf80101boa8.html


NSDate生成:

NSDate *date = [NSDate date]; 

NSDate *date = [[NSDate alloc] initWithString:@"2010-01-01 23:59:59 +0900"];


  

返回日期时间: 

NSString *str = [date description]; 

  

比较,取得更早或更晚的日期: 

NSDate *d = [date1 earlierDate: date2]; 

NSDate *d = [date1  laterDate: date2] 

  

是否相同日期: 

BOOL b = [date1 isEqualToDate: date2]; 

  

取得从现在开始过某秒之后的日期时间: 

NSDate *d = [NSDate dateWithTimeIntervalSinceNow: 86400*7]; 

*负数是指过去时间 

  

自己设定的形式来取得日期:

NSDateFormatter *df = [[NSDateFormatter alloc] init];

df.dateFormat  = @"yyyy/MM/dd HH:mm:ss";

 [df setDateFormat:@"yyyy/MM/dd HH:mm:ss"];


  

取得现在日期时间:(连接上面设定形式)

NSString *str = [df stringFromDate:[NSDate date]];


设定日期: (连接上面设定形式)

NSDate *aDate = [df dateFromString: @"2000/03/01 00:00:00"];


  

从某时间开始经过某秒后的日期时间:

bDate = [aDate initWithTimeInterval:3*60  sinceDate:aDate]; //aDate3分钟

 


指定某月的末日: (使用前一个月的第一天来取得)

NSDate *aDate = [inputDateFormatter dateFromString:@"2000/03/01 00:00:00"]; //给定31日零点日期

NSDate *bDate = [orgDate initWithTimeInterval:-1*24*60*60  sinceDate:a];// 1日前

NSLog(@"20002月的末日 -> %@", bDate);


  

取得某两个时间相隔多久:

since = [dateA timeIntervalSinceDate: dateB];


  

只取得日期不要时间:

NSDateFormatter *df = [[NSDateFormatter alloc] init];

[df setTimeStyle: NSDateFormatterNoStyle];

[df setDateStyle: NSDateFormatterMediumStyle];          

NSString *nowDateStr = [df stringFromDate:[NSDate date]];

NSDate *nowDate = [df dateFromString:nowDateStr];

NSLog(@"%@", nowDate);

0 0
原创粉丝点击