#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
//NSDate 对象的初始化
NSDate *nDate=[NSDate dateWithString:@"2013-08-06 08:09:10 +0000"];
NSDate *nDate2=[NSDate dateWithString:@"2013-01-01 00:00:00 +0000"];
NSLog(@"%@",nDate);// 输出 2013-08-06 08:09:10 +0000
// 以YYYY-MM-DD HH:MM:SS ±HHMM的格式表示时间。
// 其中 "±HHMM" 表示与GMT的存在多少小时多少分钟的时区差异。比如,若时区设置在北京,则 "±HHMM" 显示为 "+0800"
/**********将 NSDate 转换 为 NSString **********/
NSString *Str=[nDate description ];//
NSLog(@"%@",Str);
/****************一些常用方法**********************************/
// 方法:+ (id)date,返回当前时间
NSDate*Date1=[NSDate date];
NSLog(@"%@",Date1);//输出 XXXX-XX-XX XX:XX:XX +0000 格式
//方法:+ (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs
//返回以当前时间为基准,然后过了secs秒的时间
NSDate *Date2=[NSDate dateWithTimeIntervalSinceNow:600];
NSLog(@"%@",Date2);
// + (id)dateWithTimeIntervalSince1970:(NSTimeInterval)secs;
//返回以1970/01/01 GMT为基准,然后过了secs秒的时间
NSDate *Date3=[NSDate dateWithTimeIntervalSince1970:600];
NSLog(@"%@",Date3);//1970-01-01 00:10:00 +0000
//+ (id)distantFuture;
//返回很多年以后的未来的某一天
NSDate *Date4=[NSDate distantFuture];
NSLog(@"%@",Date4);//4001-01-01 00:00:00 +0000
//+ (id)distantPast;
//返回很多年以前的某一天。
NSDate *Date5=[NSDate distantPast];
NSLog(@"Date5:%@",Date5);//0001-12-30 00:00:00 +0000
//- (id)addTimeInterval:(NSTimeInterval)secs;
//返回以目前的实例中保存的时间为基准,然后过了secs秒的时间
NSDate *Date6=[nDate addTimeInterval:600];//有问题 请大神指点
NSLog(@"Date6:%@",Date6);//Date6:2013-08-06 08:19:10 +0000
// - (id)init;
//初始化为当前时间。类似date方法
NSDate *Date7=[Date1 init];//等于Date1
NSLog(@"Date7:%@",Date7);
//- (id)initWithTimeIntervalSinceReferenceDate:(NSTimeInterval)secs;
// 初始化为以2001/01/01 GMT为基准,然后过了secs秒的时间。类似dateWithTimeIntervalSinceReferenceDate:方法
NSDate *Date8=[Date2 initWithTimeIntervalSinceReferenceDate:600];
NSLog(@"%@",Date8); // 2001-01-01 00:10:00 +0000
// - (id)initWithTimeInterval:(NSTimeInterval)secs sinceDate:(NSDate *)refDate;
//初始化为以refDate为基准,然后过了secs秒的时间
NSDate *Date9=[Date1 initWithTimeInterval:600 sinceDate:[NSDate dateWithString:@"2013-08-06 08:39:10 +0000"]];
NSLog(@"%@",Date9);//2013-08-06 08:49:10 +0000
/***********日期之间比较 方法*************/
//- (BOOL)isEqualToDate:(NSDate *)otherDate;
//与otherDate比较,相同返回YES
if ([nDate isEqualToDate:nDate2]==NO) {
NSLog(@"这两个时间 不相同");
}
else
{
NSLog(@"这两个时间 相同");
}
//- (NSDate *)earlierDate:(NSDate *)anotherDate;
//与anotherDate比较,返回较早的那个日期
NSLog(@"%@",[nDate earlierDate:nDate2]);//2013-01-01 00:00:00 +0000
// - (NSDate *)laterDate:(NSDate *)anotherDate;
//与anotherDate比较,返回较晚的那个日期
NSLog(@"%@",[nDate laterDate:nDate2]);//2013-08-06 08:09:10 +0000
/*
- (NSComparisonResult)compare:(NSDate *)other;
该方法用于排序时调用:
. 当实例保存的日期值与anotherDate相同时返回NSOrderedSame
. 当实例保存的日期值晚于anotherDate时返回NSOrderedDescending
. 当实例保存的日期值早于anotherDate时返回NSOrderedAscending
*/
/*******取回时间间隔可用以下方法******/
//定义两个 NSDate
NSDate *TiDate1=[NSDate dateWithString:@"2013-08-06 08:00:10 +0000"];
NSDate *TiDate2=[NSDate dateWithString:@"2013-08-06 08:10:10 +0000"];
//- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)refDate;
//以refDate为基准时间,返回实例保存的时间与refDate的时间间隔
NSLog(@"%f",[TiDate1 timeIntervalSinceDate:TiDate2]);//-600.000000
//- (NSTimeInterval)timeIntervalSinceNow;
//以当前时间(Now)为基准时间,返回实例保存的时间与当前时间(Now)的时间间隔
NSLog(@"%f",[TiDate1 timeIntervalSinceNow]);//-1267744.063120
// - (NSTimeInterval)timeIntervalSince1970;
//以1970/01/01 GMT为基准时间,返回实例保存的时间与1970/01/01 GMT的时间间隔
NSDate *TiDate3=[NSDate dateWithString:@"1970-01-01 00:10:00 +0000"];
NSLog(@"%g",[TiDate3 timeIntervalSince1970]);//600
// - (NSTimeInterval)timeIntervalSinceReferenceDate;
//以2001/01/01 GMT为基准时间,返回实例保存的时间与2001/01/01 GMT的时间间隔
NSDate *TiDate4=[NSDate dateWithString:@"2001-01-01 00:10:00 +0000"];
NSLog(@"%g",[TiDate4 timeIntervalSinceReferenceDate]);//600
//+ (NSTimeInterval)timeIntervalSinceReferenceDate;
//以2001/01/01 GMT为基准时间,返回当前时间(Now)与2001/01/01 GMT的时间间隔
NSLog(@"%g",[NSDate timeIntervalSinceReferenceDate]);//3.98737e+08
}
return 0;
}
OC 时间NSDate (NSDate<——> NSString)
最新推荐文章于 2023-04-27 18:29:48 发布