NSDate 使用

来源:互联网 发布:免费刷会员软件 编辑:程序博客网 时间:2024/05/29 15:11
 

取当前时间的秒数

   NSTimeInterval time = [[NSDatedate]timeIntervalSince1970];
   
long long int date = (longlong int)time;
    NSLog(@”date\n%d”, date);
//1295322949
   
//把秒数转化成yyyy-MM-dd hh:mm:ss格式
   
NSDate *dd = [NSDatedateWithTimeIntervalSince1970:date];
    NSLog(@”d:%@”,dd);
//2011-01-18 03:55:49 +0000
   
   
//给一个时间秒数,取出对应的时间
   
NSString*s = @”1295355600000″;//对应21:00
   
NSDate *d = [NSDatedateWithTimeIntervalSince1970:[sdoubleValue]/1000];
    NSLog(@”dddd:%@”,d);
//2011-01-18 13:00:00 +0000
   
NSDateFormatter*formatter1 = [[NSDateFormatteralloc]init];
    [formatter1
setDateFormat:@"HH:mm"];
   
NSString*showtimeNew = [formatter1stringFromDate: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/01GMT为基准,然后过了secs秒的时间
    + (
id)dateWithTimeIntervalSince1970:(NSTimeInterval)secs;
   
返回以1970/01/01GMT为基准,然后过了secs秒的时间
    + (
id)distantFuture;
   
返回很多年以后的未来的某一天。(比如你需要一个比现在(Now)()很长时间的时间值,则可以调用该方法。测试返回了4000/12/3116:00:00
    + (
id)distantPast;
   
返回很多年以前的某一天。(比如你需要一个比现在(Now)()大很长时间的时间值,则可以调用该方法。测试返回了公元前0001/12/3117:00:00
   
   
用于创建NSDate实例的实例方法有
    - (
id)addTimeInterval:(NSTimeInterval)secs;
   
返回以目前的实例中保存的时间为基准,然后过了secs秒的时间
   
   
用于初始化NSDate实例的实例方法有
    - (
id)init;
   
初始化为当前时间。类似date方法
   
初始化为以2001/01/01GMT为基准,然后过了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/01GMT为基准时间,返回实例保存的时间与1970/01/01GMT的时间间隔
    - (NSTimeInterval)timeIntervalSinceReferenceDate;
   
2001/01/01GMT为基准时间,返回实例保存的时间与2001/01/01GMT的时间间隔
    + (NSTimeInterval)timeIntervalSinceReferenceDate;
   
2001/01/01GMT为基准时间,返回当前时间(Now)2001/01/01GMT的时间间隔
   
   
4. 将时间表示成字符串
    - (NSString *)description;
   
YYYY-MM-DD HH:MM:SS ±HHMM的格式表示时间。(其中“±HHMM” 表示与GMT的存在多少小时多少分钟的时区差异。比如,若时区设置在北京,则“±HHMM” 显示为 “+0800
   
0 0
原创粉丝点击