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

iOS Foundation框架 -4.NSDate类的简单用法

2014-03-22 14:19 459 查看
NSDate为日期时间类对象,简单操作:

注意:直接NSLog输出NSDate对象,默认是以0时区为标准,因此会比北京时间少8小时

1.将Date格式转换为自定义格式的字符串格式

// 自定义Date时间日期格式

// 创建日期时间对象
NSDate *date = [NSDate date];

// 借助日期时间对象格式化对象
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

// 定义要显示的时间日期格式 HH:表示24小时格式 hh:表示12小时格式
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

// 将时间日期格式转化为字符串
NSString *str = [formatter stringFromDate:date];
NSLog(@"%@",str); // 输出:2014-03-22 14:01:52


2.将字符串格式转换为date格式

// 将字符串转化为Date对象格式
NSString *str = @"2012/11/11 17:58:00";

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy/MM/dd HH:mm:ss";
NSDate *date = [formatter dateFromString:str];
NSLog(@"%@",date); // 输出: 2012-11-11 09:58:00 +0000


3.NSDate的一些其他方法

// 创建日期时间对象
NSDate *date =[NSDate date];

// 输出默认就是当前时间 但是时间默认的是0时区的时间 因此比北京时间少8小时
NSLog(@"%@",date);

// 创建的日期时间对象date2 比 date少5秒
NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date];

// 计算从1970年0点到date2总共过了多少秒
// 返回类型是NSTimeInterval
// 系统定义 typedef double NSTimeInterval; 可以看出它其实就是double类型 因此seconds不用加 *
NSTimeInterval seconds = [date2 timeIntervalSince1970];

// date2的时间和现在时间(也就是代码执行时间)相隔多少秒
NSTimeInterval seconds2 = [date2 timeIntervalSinceNow];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: