时间处理NSDate

1.

NSTimeInterval 时间间隔double
    NSTimeInterval now = [NSDate timeIntervalSinceReferenceDate];  //2001/1/1时间以秒数的形式表示
    NSLog(@"double=%f",now);//444907472.111701
    //
    NSDate *datec = [NSDate dateWithTimeIntervalSinceNow:100];
    NSTimeInterval seconds = [datec timeIntervalSinceNow]; //日期于当前日期的相差时间
    NSLog(@"%f",seconds);//以秒数的形式
    //
    NSDate *datea = [NSDate dateWithTimeIntervalSince1970:0];
    NSDate *dateb = [NSDate dateWithTimeInterval:50 sinceDate:datea];
    NSTimeInterval secondsa = [datea timeIntervalSinceDate:dateb];//日期与日期的相差时间
    NSLog(@"%f",secondsa);
    /////////////////////////////////////////////////////NSDate的创建/////////////////////////////////////////////////////////////////////////////
    NSDate *date = [NSDate date];
    NSLog(@"date=%@",date);
    //以当前时间为基准
    NSDate *timeInterval = [[NSDate alloc]initWithTimeIntervalSinceNow:20];
    NSLog(@"timeInterval= %@",timeInterval);
    //以1970/1/1为基准
    NSDate *since1970= [[NSDate alloc]initWithTimeIntervalSince1970:-20];
    NSLog(@"since1970=%@",since1970);
    //以2001/1/1为基准
    NSDate *sinceReferenceDate = [[NSDate alloc]initWithTimeIntervalSinceReferenceDate:80];
    NSLog(@"sinceReferenceDate=%@",sinceReferenceDate);
    //以某日期为基准
    NSDate *date2 = [[NSDate alloc]initWithTimeInterval:10 sinceDate:date];
    NSLog(@"date2=%@",date2);
    //
    NSLog(@"future date = %@",[NSDate distantFuture]);
    NSLog(@"past date = %@",[NSDate distantPast]);

2015-02-06 17:49:38.290 MeiTeamDemo[13580:203531] double=444908978.290587
2015-02-06 17:49:38.291 MeiTeamDemo[13580:203531] 99.999974
2015-02-06 17:49:38.291 MeiTeamDemo[13580:203531] -50.000000
2015-02-06 17:49:38.292 MeiTeamDemo[13580:203531] date=2015-02-06 09:49:38 +0000
2015-02-06 17:49:38.293 MeiTeamDemo[13580:203531] timeInterval= 2015-02-06 09:49:58 +0000
2015-02-06 17:49:38.293 MeiTeamDemo[13580:203531] since1970=1969-12-31 23:59:40 +0000
2015-02-06 17:49:38.293 MeiTeamDemo[13580:203531] sinceReferenceDate=2001-01-01 00:01:20 +0000
2015-02-06 17:49:38.293 MeiTeamDemo[13580:203531] date2=2015-02-06 09:49:48 +0000
2015-02-06 17:49:38.293 MeiTeamDemo[13580:203531] future date = 4001-01-01 00:00:00 +0000
2015-02-06 17:49:38.293 MeiTeamDemo[13580:203531] past date = 0000-12-30 00:00:00 +0000

2.统计时间耗时利器

CFAbsoluteTime start = CFAbsoluteTimeGetCurrent();
// do something
 CFAbsoluteTime end = CFAbsoluteTimeGetCurrent();
 NSLog(@"time cost: %0.3f", end - start);  

3.

NSTimeInterval interval = [_startDate timeIntervalSinceNow];//日期相差的秒数

    NSString *title = [NSString stringWithFormat:@"做题进度:%ld/%ld 道  剩余时间:%d:%d",_indexOfQuestion + 1, self.dataSource.count ,(int)interval/60,(int)interval%60 ];
时间: 2024-10-10 07:03:07

时间处理NSDate的相关文章

003-日期与时间(NSDate)

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //获取代表当前日期,时间的NSDate NSDate* date1 = [NSDate date]; NSLog(@"%@", date1); //获取从当前时间开始,一天之后的日期 NSDate* date2 = [[NSDate alloc]initWithTimeInterval

获取时间【NSDate】

[Objective-C]NSDate详解及获取当前时间等常用操作 博客分类: Objective-C objective-cnsdate NSDate类用于保存时间值,同时提供了一些方法来处理一些基于秒级别时差(Time Interval)运算和日期之间的早晚比较等. 1. 创建或初始化可用以下方法 用于创建NSDate实例的类方法有 + (id)date; 返回当前时间 + (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs; 返回以当

ios代码实现时间设置NSDate

本文转载至 http://www.baidu.com/link?url=dcQWiL1FD_She6P4RM2IvEeJas0_gtG3LkRNTV5H87X0AyKCHvwYjBz2hdcB2JVpTyMRhl6Hno2FX_U3TEDgZq //1),创建一个对象,赋值为当前日期date 创建的NSDate对象,获得的永远是0时区的时间,china是东八区,需要加上8个小时        NSDate *date = [NSDate date];        NSTimeZone *zon

ios中利用NSDateComponents、NSDate、NSCalendar判断当前时间是否在一天的某个时间段内。

应用中设置一般会存在这样的设置,如夜间勿扰模式,从8:00-23:00,此时如何判断当前时间是否在该时间段内.难点主要在于如何用NSDate生成一个8:00的时间和23:00的时间,然后用当前的时间跟这俩时间作对比就好了. 下面提供两条思路: 法1.用NSDate生成当前时间,然后转为字符串,从字符串中取出当前的年.月.日,然后再拼上时.分.秒,然后再将拼接后的字符串转为NSDate,最后用当前的时间跟自己生成的俩NSDate的时间点比较.(该方法比较笨,也不难,但看起来有点太菜了,看上去不怎么

NSDate 时间加减

NSDate有个类别,如下: @interface NSDate (NSDateCreation) 一个方法是: - (instancetype)initWithTimeInterval:(NSTimeInterval)secsToBeAdded sinceDate:(NSDate *)date; 这个方法官方的description是: Returns an NSDate object initialized relative to another given date by a given

NSDate NSString时间字符串 NSTimeInterval 的转换

//时间格式 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"MMM dd,yyyy HH:mm tt"]; //时间字符串NSDate NSDate *date = [formatter dateFromString:string]; //NSDate转时间字符串 NSString *dateString = [formatter stringFromDat

ios正在使用NSDateComponents、NSDate、NSCalendar它的结论是在当前时间是在一段时间在一天。

一般应用程序设置这一组的存在,比如夜间模式,如果你.从8:00-23:00.在这个当前的时间是如何推断出期间.主要的困难在于如何使用NSDate生成8:00时间和23:00时间.然后用当前时间,也许有足够的时间,以使控制. 这里有两种思路: 法1.使用NSDate生成当前时间,然后转为字符串,从字符串中取出当前的年.月.日,然后再拼上时.分.秒,然后再将拼接后的字符串转为NSDate,最后用当前的时间跟自己生成的俩NSDate的时间点比較.(该方法比較笨,也不难.但看起来有点太菜了,看上去不怎么

NSdate 时间格式

NSdate 时间格式 NSTimeInterval 时间间隔 基本单位 秒 NSDateFormatter 时间格式器 用于日期对象的格式化或字符串解析为日期对象 日期格式如下: y  年 M  年中的月份 D  当天是今年的第多少天 d  月份中的天数 F  月份中的周数 E  星期几 a  Am/pm H  一天中的小时数(0-23) k  一天中的小时数(1-24) K  am/pm 中的小时数(0-11)  Number  0 h  am/pm 中的小时数(1-12)  Number 

OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)

1.NSNumber 这个类主要是用来封装基本类型的,说到这里,就不得不说一下了: OC中的集合是不允许存入基本类型的,所以NSNumber类就诞生了,需要将基本类型封装一下,然后存进去,这个类似于Java中的自动装箱和拆箱,Java中的集合其实也是不允许存入基本类型的,但是我们任然看可以那么操作,就是因为有自动装箱功能,如果你将Eclipse的JDK改成5.0之前的,你看看还能操作吗.. 注:那为什么基本类型不能存入到集合中呢? 原因是在操作集合的时候会操作集合元素中的方法,但是基本类型是没有