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就到这里结束了~~~下次我们继续~~
例子:
#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就到这里结束了~~~下次我们继续~~
相关文章推荐
- Foundation框架: 8.OC中的集合类之二 - NSMutableArray的基本认识
- 黑马程序员---OC学习笔记之Foundation框架:NSString的基本使用
- Foundation框架: 8.OC中的集合类之三 - NSSet和NSMutableSet的基本认识
- Objective-C之foundation框架中的NSString的使用方法、指针基本用法、读取本地和远程文件
- Foundation框架: 9.OC中的集合类之四 - NSMutableDictionary的基本认识
- Foundation框架: 7.NSMutableString的基本认识
- Foundation框架: 10.NSNumber和NSValue的基本认识和运用
- 黑马程序员——Foundation框架——NSDate、NSCalendar类介绍和使用
- Foundation框架: 8.OC中的集合类之三 - NSDictionary的基本认识
- Foundation框架: 8.OC中的集合类之一 - NSArray的基本认识
- 黑马程序员——11、OC语言(Foundation框架的简单使用)
- Foundation框架,几乎为我们提供了日常需要使用的所有核心实用工具类---之一
- Qt基本框架使用:
- 使用前端框架Foundation 4来帮助简化响应式设计开发
- Android-query框架的基本使用(一)
- JQueryEasyUI datagrid框架的基本使用
- 【Android】在Android上使用OrmLite数据库框架 之 基本用法
- POCO库中文编程参考指南(11)如何使用Reactor框架?
- 使用WTL+OGRE编写3D程序(1) - 基本框架
- POCO库中文编程参考指南(11)如何使用Reactor框架?