您的位置:首页 > 其它

Foundation框架: 11.NSDate的基本认识和使用

2015-02-06 21:43 393 查看
学到这里, 我们基本上就把Foundation框架里面的东西学的七七八八了, 剩下的就只有UIKit, 也就是我们的UI部分,好了, 废话不多说, 现在我们来看看NSDate是干嘛用的吧.

例子:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
NSDate *date = [NSDate date];

NSLog(@"%@", date);

return 0;
}


打印出来的结果:
2015-02-06 16:38:58.969 12.NSDate[4971:303] 2015-02-06 08:38:58 +0000


看到打印的结果, 一下就明悟了, 原来NSDate打印的是时间, 没错,
NSDate其实就是用来定义时间的, 但这个时间和我们的本地时间不一样, 它打印出来的是中时区, 也就是我们的零时区, 不信你们就打印出来试试~~~

那么还有其他方法么? 肯定是有的, 下面继续看:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

NSDate *date = [NSDate date];

NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date];

NSLog(@"date = %@, date2 = %@", date, date2);

return 0;
}


打印出来的结果:
2015-02-06 16:43:00.819 12.NSDate[4987:303] date = 2015-02-06 08:43:00 +0000, date2 = 2015-02-06 08:43:05 +0000


date2这个方法创建出来的时间, 永远比date慢那么5秒, 这里注意一下, 在OC开发里, 所有时间都是以秒计算的, 而在其他语言里, 或许以毫秒计算, 但是在OC里是不一样的.

其实上面这些都是鸡毛蒜皮, 真正有用的方法是下面这个:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
NSDate *date = [NSDate date];

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

formatter.dateFormat = @"yyyy-MM-dd HH-mm-ss";

NSString *str = [formatter stringFromDate:date];

NSLog(@"%@", str);

return 0;
}


打印出来的结果:
2015-02-06 16:49:40.990 12.NSDate[5045:303] 2015-02-06 16-49-40

PS: y->年 M->月 d->日  H(24小时)->时 h(12小时)->时 m->分 s->秒

当然, 有把NSDate转成字符串的, 那么就肯定有把字符串转成NSDate的方法, 下面来看看吧:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
NSString *str = @"2011/11/30 15:22";

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

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

NSDate *date = [formatter dateFromString:str];

NSLog(@"%@", date);

return 0;
}

打印出来的结果:
2015-02-06 21:41:09.906 12.NSDate[5321:303] 2011-11-30 07:22:00 +0000


好了, NSDate就到这里结束了~~~下次我们继续~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: