创建当前时间

  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. XMLHttpRequest Level 2 使用指南

    XMLHttpRequest是一个浏览器接口,使得Javascript可以进行HTTP(S)通信. 最早,微软在IE 5引进了这个接口.因为它太有用,其他浏览器也模仿部署了,ajax操作因此得以诞生. ...

  2. VS2003,安装程序检测到另一个程序…

    昨天在安装Visual Studio .Net 2003时,出现一个对话框   "安装程序检测到另一个程序要求计算机重新启动.必须重新启动计算机后才能安装visual studio.net系 ...

  3. IOS--工作总结--post上传文件(以流的方式上传)

    1.添加协议 <NSURLConnectionDelegate> 2.创建 @property (nonatomic,retain) NSURLConnection* aSynConnec ...

  4. OA、CRM、ERP之间的区别和联系是什么?

    我们假设你是某机械行业的销售,一切从今天你收到公司的邮件,去上海参加展会开始 因为 去展会 所有 首先 你打开 OA 登陆 填写出差申请表 送交主管审批 填表--审批--行政订票酒店 然后呢 你飞去上 ...

  5. HDU 2157 - How many ways??

    给图,图中任意可达的两点间步数为1 问从图中A点走到B点步数为k的有几条路 祭出离散数学图论那章中的 邻接矩阵A. 设S=Ak 则 S[a][b] 为 a到b,步数为k的不同路的条数 剩下的就是矩阵快 ...

  6. stack 集合栈计算机 (摘)

    有一个专门为了集合运算而设计的“集合栈”计算机.该机器有一个初始为空的栈,并且支持以下操作:PUSH:空集“{}”入栈DUP:把当前栈顶元素复制一份后再入栈UNION:出栈两个集合,然后把两者的并集入 ...

  7. jquery操作session的方法

    jquery.session.js使用  //此方法在java中不能使用 // jquery.session.js 简单使用方法 添加数据    $.session.set('key', 'value ...

  8. HttpClient 请求WebApi

    HttpClient client = new HttpClient(); client.BaseAddress = new Uri(ConfigurationManager.AppSettings[ ...

  9. table中td,th不能设置margin

    首先,我们需要知道的是:我们可以对表格table设置margin,而不能设置padding;对单元格td设置padding,而不能设置margin.所以说,我们不能对单元格td设置margin属性来调 ...

  10. Windows上Python3.5安装Scrapy(lxml)

    常用网址: Python 3.5: https://www.python.org/downloads/ Wheel文件:http://www.lfd.uci.edu/~gohlke/pythonlib ...