NSDate 使用

 

取当前时间的秒数

   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
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值