创建当前时间

  1. NSDate *date = [NSDate date];

从现在开始的24小时

NSTimeInterval a_day = 24*60*60;

NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:a_day];

根据已有日期创建日期

  1. NSTimeInterval a_day = 24*60*60;
  2. NSDate *date = [NSDate date];
  3. NSDate *tomorrow = [date addTimeInterval: date];

日期比较

  1. BOOL isEqual = [date isEqualToDate:tomorrow];
  2. f(isEqual){
  3. NSLog(@"equal");

//获取较早的日期

  1. NSDate *earlier_date = [tomorrow earlierDate:date];
  2. NSLog(@"earlierDate  = %@",earlierDate);

//较晚的日期

  1. NSDate *laterDate = [tomorrow laterDate:date];
  2. NSLog(@"laterDate  = %@",laterDate);

//两个日期之间相隔多少秒

  1. NSTimeInterval secondsInterval= [date timeIntervalSinceDate:tomorrow];
  2. NSLog(@"secondsInterval=  %lf",secondsInterval);

//通过NSCalendar类来创建日期

  1. NSDateComponents *comps = [[NSDateComponentsalloc]init];
  2. [comps setMonth:01];
  3. [comps setDay:31];
  4. [comps setYear:2013];
  5. NSCalendar *calendar = [[NSCalendaralloc]initWithCalendarIdentifier:NSGregorianCalendar];
  6. NSDate *date = [calendar dateFromComponents:comps];

//从已有日期获取日期

  1. unsigned units  = NSMonthCalendarUnit|NSDayCalendarUnit|NSYearCalendarUnit;
  2. NSDateComponents *_comps = [calendar components:units fromDate:date];
  3. NSInteger month = [_comps month];
  4. NSInteger year = [_comps year];
  5. NSInteger day = [_comps day];
  6. //NSDateFormatter实现日期的输出
  7. NSDateFormatter *formatter = [[NSDateFormatteralloc]init];
  8. [formatter setDateStyle:NSDateFormatterFullStyle];//直接输出的话是机器码
  9. //或者是手动设置样式[formatter setDateFormat:@"yyyy-mm-dd"];
  10. NSString *dateString = [formatter stringFromDate:date];
  11. NSLog(@"dateString = %@",dateString);
  12. NSLog(@"formater = %@",formatter);

//获取日期格式对象

    1. - (NSDateFormatter *)getDateFormatter {
    2. if (dateFormatter == nil) {
    3. dateFormatter = [[NSDateFormatter alloc] init];
    4. [dateFormatter setDateStyle:NSDateFormatterMediumStyle];
    5. [dateFormatter setTimeStyle:NSDateFormatterNoStyle];
    6. }
    7. return dateFormatter;
    8. }

NSDate 的一些操作(比较、创建、在现有date加减一定时间等)的更多相关文章

  1. Java 中日期的几种常见操作 —— 取值、转换、加减、比较

    Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿.当然,我只提 ...

  2. 聊聊 Java 中日期的几种常见操作 —— 取值、转换、加减、比较

    Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿.当然,我只提 ...

  3. NSDate 总结日期操作

    IOS Object-c NSDate总结日期操作 //NSDate //1, 创建NSDate对象 NSDate *nowDate = [NSDate date]; NSLog(@"%@& ...

  4. iOS——文件操作NSFileManager (创建、删除,复制,粘贴)

    iOS——文件操作NSFileManager (创建.删除,复制,粘贴)       iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像android,没有SD卡概念,不能直接访问图像.视 ...

  5. windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  6. C#操作Excel(创建、打开、读写、保存)几种方法的总结

    在.NET开发中,不管是web程序还是桌面软件(尤其是涉及数据库操作的MIS系统等),常常需操作Excel,如导出数据到Excel,读取Excel中数据到程序中等.总结起来,其操作不外乎创建.打开.读 ...

  7. 使用navicat操作PostPreSql创建表并设置主键自增和触发器

    使用navicat操作PostPreSql创建表并设置主键自增和触发器 1).创建递增序列 2).创建表,使用序列,设置主键递增 3)定义触发函数 自动生成时间戳函数 CREATE OR REPLAC ...

  8. EF如何操作内存中的数据以及加载相关联表的数据:延迟加载、贪婪加载、显示加载

    之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需要用的,这个系列讲讲如何使用EF操作数据库.老版本的EF主要是通过Ob ...

  9. C语言数组和指针的理解_在取地址运算上的操作_指针加减操作_a 和&a 的区别

    1.一个实例+理论分析 在了解数组和指针的访问方式前提下,下面再看这个例子: main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); pr ...

随机推荐

  1. GCC、GDB、Makefile

    1.GCC程序编译 Linux系统下的gcc(GNUCCompiler)是GNU推出的功能强大.性能优越的多平台编译器,是GNU的代表作之一.gcc可以在多种硬体平台上编译出可执行程序,其执行效率与一 ...

  2. sqlplus常用操作命令(转)

    SQL*PLUS 是Oracle提供的一个工具程序,它不仅可以用于测试,运行SQL语句和PL/SQL块,而且还可以用于管理Oracle数据库  1.启动sql*plus 为了使用sql*plus,必须 ...

  3. <audio>使用2

    1.属性测试 <!--显示控件--> <audio src="../images/wind.mp3" id="audioOne" contro ...

  4. F, A, MS, QM, RF的OFFER和经历 -- Final update

    昨天收到FB的电话,我的OFFER已经批下来了,这也意味着我的JOB HUNTING结束了,下 面是我这两个月来申请结果汇总: Applications (7): Facebook, Google, ...

  5. [Effective Modern C++] Item 7. Distinguish between () and {} when creating objects - 辨别使用()与{}创建对象的差别

    条款7 辨别使用()与{}创建对象的差别 基础知识 目前已知有如下的初始化方式: ); ; }; }; // the same as above 在以“=”初始化的过程中没有调用赋值运算,如下例所示: ...

  6. RMAN之一:快速入门

    1.数据导出基础 (1)创建datapump导出文件的目录对象并为相应用户授予权限. 出于安全考虑,不允许oracle用户直接在OS上进行文件的操作,而应通过directory对象指定. SQL> ...

  7. 【转】【可用】Android 登录判断器,登录成功后帮你准确跳转到目标activity

    我们在使用应用时肯定遇到过这样的情景,打开应用,并不是需要我们登录,你可以浏览应用中的大部分页面,但是当你想看某个详情页的时候,点击后突然跳转到了登录页面,好,我们输入账号密码,点击登录,登录成功,跳 ...

  8. CS0016: 未能写入输出文件*****目录名称无效

    一大早,杀毒软件弹出删除隐私记录.清理空间一堆堆的提醒,一般我都是无视它,今天顺便点了下清理,然后出问题. 昨晚下班提交的代码,程序运行好好地,今早清理完系统,竟然就出问题了, 具体如下 CS0016 ...

  9. %hd %d %ld %u ......

    %d 有符号10进制整数 %ld 长整型 %hd短整型%md,m指定的是输出字段的宽度,默认左补空格, 如果数据的位数小于m,则左端补以空格,若大于m,则 按实际位数输出,如: printf(&quo ...

  10. MYSQL 中的变量

    1.用户自己定义变量 2.系统变量(全局变量,会话变量) ----------------------------------------------------------------------- ...