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

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];

 

posted @ 2014-03-22 14:19  谦默  阅读(353)  评论(0编辑  收藏  举报