取当前时间的秒数
NSTimeInterval
time = [[
NSDate
date
]
timeIntervalSince1970
];
long long int date = ( long long int )time;
NSLog(@”date\n%d”, date); //1295322949
// 把秒数转化成 yyyy-MM-dd hh:mm:ss 格式
NSDate *dd = [ NSDate dateWithTimeIntervalSince1970 :date];
NSLog(@”d:%@”,dd); //2011-01-18 03:55:49 +0000
// 给一个时间秒数 , 取出对应的时间
NSString *s = @” 1295355600000 ″; // 对应 21:00
NSDate *d = [ NSDate dateWithTimeIntervalSince1970 :[s doubleValue ]/ 1000 ];
NSLog(@”dddd:%@”,d); //2011-01-18 13:00:00 +0000
NSDateFormatter *formatter1 = [[ NSDateFormatter alloc ] init ];
[formatter1 setDateFormat : @"HH:mm" ];
NSString *showtimeNew = [formatter1 stringFromDate :d];
NSLog(@”showtimeNew:%@”,showtimeNew); //21:00 比 d 的时间 +8 小时
[formatter1 release ];
1. 创建或初始化可用以下方法
用于创建 NSDate 实例的类方法有
+ ( id )date;
返回当前时间
+ ( id )dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;
返回以当前时间为基准,然后过了 secs 秒的时间
+ ( id )dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)secs;
返回以 2001 / 01 / 01 GMT 为基准,然后过了 secs 秒的时间
+ ( id )dateWithTimeIntervalSince1970:(NSTimeInterval)secs;
返回以 1970 / 01 / 01 GMT 为基准,然后过了 secs 秒的时间
+ ( id )distantFuture;
返回很多年以后的未来的某一天。(比如你需要一个比现在 (Now) 晚 ( 大 ) 很长时间的时间值,则可以调用该方法。测试返回了 4000 / 12 / 31 16 : 00 : 00 )
+ ( id )distantPast;
返回很多年以前的某一天。(比如你需要一个比现在 (Now) 早 ( 小 ) 大很长时间的时间值,则可以调用该方法。测试返回了公元前 0001 / 12 / 31 17 : 00 : 00 )
用于创建 NSDate 实例的实例方法有
- ( id )addTimeInterval:(NSTimeInterval)secs;
返回以目前的实例中保存的时间为基准,然后过了 secs 秒的时间
用于初始化 NSDate 实例的实例方法有
- ( id )init;
初始化为当前时间。类似 date 方法
初始化为以 2001 / 01 / 01 GMT 为基准,然后过了 secs 秒的时间。类似 dateWithTimeIntervalSinceReferenceDate: 方法
- ( id )initWithTimeInterval:(NSTimeInterval)secs sinceDate:(NSDate *)refDate;
初始化为以 refDate 为基准,然后过了 secs 秒的时间
- ( id )initWithTimeIntervalSinceNow:(NSTimeInterval)secs;
初始化为以当前时间为基准,然后过了 secs 秒的时间
2. 日期之间比较可用以下方法
- ( BOOL )isEqualToDate:(NSDate *)otherDate;
与 otherDate 比较,相同返回 YES
- (NSDate *)earlierDate:(NSDate *)anotherDate;
与 anotherDate 比较,返回较早的那个日期
- (NSDate *)laterDate:(NSDate *)anotherDate;
与 anotherDate 比较,返回较晚的那个日期
- (NSComparisonResult)compare:(NSDate *)other;
该方法用于排序时调用 :
. 当实例保存的日期值与 anotherDate 相同时返回 NSOrderedSame
. 当实例保存的日期值晚于 anotherDate 时返回 NSOrderedDescending
. 当实例保存的日期值早于 anotherDate 时返回 NSOrderedAscending
3. 取回时间间隔可用以下方法
- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)refDate;
以 refDate 为基准时间,返回实例保存的时间与 refDate 的时间间隔
- (NSTimeInterval)timeIntervalSinceNow;
以当前时间 (Now) 为基准时间,返回实例保存的时间与当前时间 (Now) 的时间间隔
- (NSTimeInterval)timeIntervalSince1970;
以 1970 / 01 / 01 GMT 为基准时间,返回实例保存的时间与 1970 / 01 / 01 GMT 的时间间隔
- (NSTimeInterval)timeIntervalSinceReferenceDate;
以 2001 / 01 / 01 GMT 为基准时间,返回实例保存的时间与 2001 / 01 / 01 GMT 的时间间隔
+ (NSTimeInterval)timeIntervalSinceReferenceDate;
以 2001 / 01 / 01 GMT 为基准时间,返回当前时间 (Now) 与 2001 / 01 / 01 GMT 的时间间隔
4. 将时间表示成字符串
- (NSString *)description;
以 YYYY-MM-DD HH:MM:SS ±HHMM 的格式表示时间。(其中 “±HHMM” 表示与 GMT 的存在多少小时多少分钟的时区差异。比如,若时区设置在北京,则 “±HHMM” 显示为 “+ 0800 ″ )
long long int date = ( long long int )time;
NSLog(@”date\n%d”, date); //1295322949
// 把秒数转化成 yyyy-MM-dd hh:mm:ss 格式
NSDate *dd = [ NSDate dateWithTimeIntervalSince1970 :date];
NSLog(@”d:%@”,dd); //2011-01-18 03:55:49 +0000
// 给一个时间秒数 , 取出对应的时间
NSString *s = @” 1295355600000 ″; // 对应 21:00
NSDate *d = [ NSDate dateWithTimeIntervalSince1970 :[s doubleValue ]/ 1000 ];
NSLog(@”dddd:%@”,d); //2011-01-18 13:00:00 +0000
NSDateFormatter *formatter1 = [[ NSDateFormatter alloc ] init ];
[formatter1 setDateFormat : @"HH:mm" ];
NSString *showtimeNew = [formatter1 stringFromDate :d];
NSLog(@”showtimeNew:%@”,showtimeNew); //21:00 比 d 的时间 +8 小时
[formatter1 release ];
1. 创建或初始化可用以下方法
用于创建 NSDate 实例的类方法有
+ ( id )date;
返回当前时间
+ ( id )dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;
返回以当前时间为基准,然后过了 secs 秒的时间
+ ( id )dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)secs;
返回以 2001 / 01 / 01 GMT 为基准,然后过了 secs 秒的时间
+ ( id )dateWithTimeIntervalSince1970:(NSTimeInterval)secs;
返回以 1970 / 01 / 01 GMT 为基准,然后过了 secs 秒的时间
+ ( id )distantFuture;
返回很多年以后的未来的某一天。(比如你需要一个比现在 (Now) 晚 ( 大 ) 很长时间的时间值,则可以调用该方法。测试返回了 4000 / 12 / 31 16 : 00 : 00 )
+ ( id )distantPast;
返回很多年以前的某一天。(比如你需要一个比现在 (Now) 早 ( 小 ) 大很长时间的时间值,则可以调用该方法。测试返回了公元前 0001 / 12 / 31 17 : 00 : 00 )
用于创建 NSDate 实例的实例方法有
- ( id )addTimeInterval:(NSTimeInterval)secs;
返回以目前的实例中保存的时间为基准,然后过了 secs 秒的时间
用于初始化 NSDate 实例的实例方法有
- ( id )init;
初始化为当前时间。类似 date 方法
初始化为以 2001 / 01 / 01 GMT 为基准,然后过了 secs 秒的时间。类似 dateWithTimeIntervalSinceReferenceDate: 方法
- ( id )initWithTimeInterval:(NSTimeInterval)secs sinceDate:(NSDate *)refDate;
初始化为以 refDate 为基准,然后过了 secs 秒的时间
- ( id )initWithTimeIntervalSinceNow:(NSTimeInterval)secs;
初始化为以当前时间为基准,然后过了 secs 秒的时间
2. 日期之间比较可用以下方法
- ( BOOL )isEqualToDate:(NSDate *)otherDate;
与 otherDate 比较,相同返回 YES
- (NSDate *)earlierDate:(NSDate *)anotherDate;
与 anotherDate 比较,返回较早的那个日期
- (NSDate *)laterDate:(NSDate *)anotherDate;
与 anotherDate 比较,返回较晚的那个日期
- (NSComparisonResult)compare:(NSDate *)other;
该方法用于排序时调用 :
. 当实例保存的日期值与 anotherDate 相同时返回 NSOrderedSame
. 当实例保存的日期值晚于 anotherDate 时返回 NSOrderedDescending
. 当实例保存的日期值早于 anotherDate 时返回 NSOrderedAscending
3. 取回时间间隔可用以下方法
- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)refDate;
以 refDate 为基准时间,返回实例保存的时间与 refDate 的时间间隔
- (NSTimeInterval)timeIntervalSinceNow;
以当前时间 (Now) 为基准时间,返回实例保存的时间与当前时间 (Now) 的时间间隔
- (NSTimeInterval)timeIntervalSince1970;
以 1970 / 01 / 01 GMT 为基准时间,返回实例保存的时间与 1970 / 01 / 01 GMT 的时间间隔
- (NSTimeInterval)timeIntervalSinceReferenceDate;
以 2001 / 01 / 01 GMT 为基准时间,返回实例保存的时间与 2001 / 01 / 01 GMT 的时间间隔
+ (NSTimeInterval)timeIntervalSinceReferenceDate;
以 2001 / 01 / 01 GMT 为基准时间,返回当前时间 (Now) 与 2001 / 01 / 01 GMT 的时间间隔
4. 将时间表示成字符串
- (NSString *)description;
以 YYYY-MM-DD HH:MM:SS ±HHMM 的格式表示时间。(其中 “±HHMM” 表示与 GMT 的存在多少小时多少分钟的时区差异。比如,若时区设置在北京,则 “±HHMM” 显示为 “+ 0800 ″ )