您的位置:首页 > 移动开发 > IOS开发

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

2016-04-01 13:36 387 查看
文章转自: 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]; //从aDate过3分钟

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

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

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

NSLog(@"2000年2月的末日 -> %@", 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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: