创建当前时间

  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. 【后缀数组】【poj2774】【 Long Long Message】

    题意: 求两个串的最长连续子串. 我的想法: 枚举第二个串...在第一个串的后缀数组中二分查找. 复杂度NlogN.最坏情况N^2 题解: (3)height 数组:定义height[i]=suffi ...

  2. vmware tools 安装

    转到虚拟机 > 安装 VMware Tools(或 VM > 安装 VMware Tools).注意:如果您运行的是轻量版的 Fusion.不带 VMware Tools 的 Workst ...

  3. 对Textbox的值转换为带千位符和小数的Decimal字符串

    以下Function可以用于textbox的KeyUp事件: 2014-06-06 发现旧版IE不支持selectionStart还有字符串的"[]"索引获取值, 已经修复这个bu ...

  4. 去掉firefox点击按钮时的虚线边框

    去掉火狐里面点击按钮时候的虚线边框 button::-moz-focus-inner, input[type="reset"]::-moz-focus-inner, input[t ...

  5. 004 range的用法

  6. react学习之props

    中秋过后刚好结束在上一家公司的工作,明天开始要正式的找工作了,最近也投了几家公司收到几分面试邀请.在面试的过程中几个面试官聊到了react(当然也有聊了vue,angular).感觉不懂react都不 ...

  7. VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)

    ------------VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)------------- WIN10已上线,随之而来的是VS2015:微软在 "WDK760 ...

  8. Windows 7下 搭建 基于 ssh 的sftp 服务器

    Windows  xp 下 搭建 基于  ssh 的sftp 服务器,服务器端可以用 freesshd,F-secure server等,filezilla server不可用,之前傻乎乎的用file ...

  9. 为什么开发人员对于PHP语言褒贬不一

    PHP 语言,作为服务器端开发的脚本语言,在网站开发方面非常有名.从1995年 Rasmus Lerdorf 创建之后,W3Techs 的调查显示在已知的服务端编程语言中,PHP 占了82%.其中不乏 ...

  10. 【写一个自己的js库】 2.实现自己的调试日志

    还是本着学习的目的,实现一个自己的调试日志,界面很简单,就是将调试信息显示在页面的正中央,用一个ul包裹,每条信息就是一个li. 1.新建一个myLogger.js文件,将需要的方法声明一下.其中va ...