- //
- // main.m
- // NSDate
- //
- // Created by yusian on 14-3-24.
- // Copyright (c) 2014年 小龙虾论坛. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- int main()
- {
- // 创建一个时间对象并初始化,初始化后为当前时间
- NSDate *date = [NSDate date];
-
- // 输出当前时间,输出的结果为格林威治的时间,即0时区,北京时间在此基本上加8小时
- NSLog(@"%@", date);
-
- // NSDate的几个类方法:
- // 1、以当前时间为基准,时间间隔n秒后的时间
- // typedef double NSTimeInterval;即NSTimeInterval实为double
- // NSDate *date = [NSDate dateWithTimeInterval:(NSTimeInterval) sinceDate:(NSDate *)];
- // 如:输出120秒之后的时间
- NSLog(@"%@", [NSDate dateWithTimeInterval:120 sinceDate:date]);
-
- // 2、返回自1970年1月1日0点0分0秒到当前,一共渡过了多少秒
- NSLog(@"%f", [date timeIntervalSince1970]);
-
- // 从某个时间开始计算到当前为止一共渡过了多少秒
- // NSLog(@"%f", [date timeIntervalSinceDate:<#(NSDate *)#>]);
-
- // 4、从1970年1月1日0时0分0秒起,时间间隔1395634026后的时间是多少
- NSLog(@"%@", [NSDate dateWithTimeIntervalSince1970:1395634026]);
-
- // 5、NSDateFormatter的配合使用
- // 创建一个NSDateFormatter对象
- NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
-
- // 定义时间的格式化类型
- dateFormatter.dateFormat = @"yyyy年MM月dd日HH点mm分ss秒";
-
- // 利用NSDateFormatter对象将时间输出为字符串
- NSString *str = [dateFormatter stringFromDate:date];
-
- // 打印效果由格式化类型决定,并且格式化后会自动转换成当前的时区
- NSLog(@"当前时间为:%@", str);
-
- // 定义一个字符串,以时间格式化格式定义
- NSString *time = @"1987年4月28日0点0分0秒";
-
- // 定义一个NSDate类型对象,通过dateFormatter对象方法将字符串转换成NSDate类型数据
- NSDate *birthday = [dateFormatter dateFromString:time];
-
- // 输出NSDate类型数据,此时又转换为0时区的时间
- NSLog(@"%@", birthday);
-
- // 通过NSDate的timeIntervalSinceDate:方法,计算自某个时间起到现在共经历了多少秒
- NSLog(@"自%@到现在为止已经走过了%.3f秒", time, [date timeIntervalSinceDate:birthday]);
-
- return 0;
- }
复制代码 输出结果:
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] 当前时间为:2014年03月24日12点33分52秒 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] 自1987年4月28日0点0分0秒到现在为止已经走过了849101632.715秒 Program ended with exit code: 0
|