年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2107|回复: 0

NSDate的基本使用

[复制链接]
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

    发表于 2014-3-24 12:34:16 | 显示全部楼层 |阅读模式
    1. //
    2. //  main.m
    3. //  NSDate
    4. //
    5. //  Created by yusian on 14-3-24.
    6. //  Copyright (c) 2014年 小龙虾论坛. All rights reserved.
    7. //
    8. #import <Foundation/Foundation.h>
    9. int main()
    10. {
    11.     // 创建一个时间对象并初始化,初始化后为当前时间
    12.     NSDate *date = [NSDate date];
    13.    
    14.     // 输出当前时间,输出的结果为格林威治的时间,即0时区,北京时间在此基本上加8小时
    15.     NSLog(@"%@", date);
    16.    
    17.     // NSDate的几个类方法:
    18.     // 1、以当前时间为基准,时间间隔n秒后的时间
    19.     // typedef double NSTimeInterval;即NSTimeInterval实为double
    20.     // NSDate *date = [NSDate dateWithTimeInterval:(NSTimeInterval) sinceDate:(NSDate *)];
    21.     // 如:输出120秒之后的时间
    22.     NSLog(@"%@", [NSDate dateWithTimeInterval:120 sinceDate:date]);
    23.    
    24.     // 2、返回自1970年1月1日0点0分0秒到当前,一共渡过了多少秒
    25.     NSLog(@"%f", [date timeIntervalSince1970]);
    26.    
    27.     // 从某个时间开始计算到当前为止一共渡过了多少秒
    28.     // NSLog(@"%f", [date timeIntervalSinceDate:<#(NSDate *)#>]);
    29.    
    30.     // 4、从1970年1月1日0时0分0秒起,时间间隔1395634026后的时间是多少
    31.     NSLog(@"%@", [NSDate dateWithTimeIntervalSince1970:1395634026]);
    32.    
    33.     // 5、NSDateFormatter的配合使用
    34.     // 创建一个NSDateFormatter对象
    35.     NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    36.    
    37.     // 定义时间的格式化类型
    38.     dateFormatter.dateFormat = @"yyyy年MM月dd日HH点mm分ss秒";
    39.    
    40.     // 利用NSDateFormatter对象将时间输出为字符串
    41.     NSString *str = [dateFormatter stringFromDate:date];
    42.    
    43.     // 打印效果由格式化类型决定,并且格式化后会自动转换成当前的时区
    44.     NSLog(@"当前时间为:%@", str);
    45.    
    46.     // 定义一个字符串,以时间格式化格式定义
    47.     NSString *time = @"1987年4月28日0点0分0秒";
    48.    
    49.     // 定义一个NSDate类型对象,通过dateFormatter对象方法将字符串转换成NSDate类型数据
    50.     NSDate *birthday = [dateFormatter dateFromString:time];
    51.    
    52.     // 输出NSDate类型数据,此时又转换为0时区的时间
    53.     NSLog(@"%@", birthday);
    54.    
    55.     // 通过NSDate的timeIntervalSinceDate:方法,计算自某个时间起到现在共经历了多少秒
    56.     NSLog(@"自%@到现在为止已经走过了%.3f秒", time, [date timeIntervalSinceDate:birthday]);
    57.    
    58.     return 0;
    59. }
    复制代码
    输出结果:
    2014-03-24 12:33:52.719 NSDate[1504:303] 2014-03-24 04:33:52 +0000
    2014-03-24 12:33:52.720 NSDate[1504:303] 2014-03-24 04:35:52 +0000
    2014-03-24 12:33:52.720 NSDate[1504:303] 1395635632.714919
    2014-03-24 12:33:52.720 NSDate[1504:303] 2014-03-24 04:07:06 +0000
    2014-03-24 12:33:52.721 NSDate[1504:303] 当前时间为:20140324123352
    2014-03-24 12:33:52.721 NSDate[1504:303] 1987-04-27 15:00:00 +0000
    2014-03-24 12:33:52.721 NSDate[1504:303] 1987428000秒到现在为止已经走过了849101632.715
    Program ended with exit code: 0

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-5-5 05:10 , Processed in 0.051356 second(s), 19 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表