NSDate 的一些操作(比较、创建、在现有date加减一定时间等)
创建当前时间
- NSDate *date = [NSDate date];
从现在开始的24小时
NSTimeInterval a_day = 24*60*60;
NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:a_day];
根据已有日期创建日期
- NSTimeInterval a_day = 24*60*60;
- NSDate *date = [NSDate date];
- NSDate *tomorrow = [date addTimeInterval: date];
日期比较
- BOOL isEqual = [date isEqualToDate:tomorrow];
- f(isEqual){
- NSLog(@"equal");
//获取较早的日期
- NSDate *earlier_date = [tomorrow earlierDate:date];
- NSLog(@"earlierDate = %@",earlierDate);
//较晚的日期
- NSDate *laterDate = [tomorrow laterDate:date];
- NSLog(@"laterDate = %@",laterDate);
//两个日期之间相隔多少秒
- NSTimeInterval secondsInterval= [date timeIntervalSinceDate:tomorrow];
- NSLog(@"secondsInterval= %lf",secondsInterval);
//通过NSCalendar类来创建日期
- NSDateComponents *comps = [[NSDateComponentsalloc]init];
- [comps setMonth:01];
- [comps setDay:31];
- [comps setYear:2013];
- NSCalendar *calendar = [[NSCalendaralloc]initWithCalendarIdentifier:NSGregorianCalendar];
- NSDate *date = [calendar dateFromComponents:comps];
//从已有日期获取日期
- unsigned units = NSMonthCalendarUnit|NSDayCalendarUnit|NSYearCalendarUnit;
- NSDateComponents *_comps = [calendar components:units fromDate:date];
- NSInteger month = [_comps month];
- NSInteger year = [_comps year];
- NSInteger day = [_comps day];
- //NSDateFormatter实现日期的输出
- NSDateFormatter *formatter = [[NSDateFormatteralloc]init];
- [formatter setDateStyle:NSDateFormatterFullStyle];//直接输出的话是机器码
- //或者是手动设置样式[formatter setDateFormat:@"yyyy-mm-dd"];
- NSString *dateString = [formatter stringFromDate:date];
- NSLog(@"dateString = %@",dateString);
- NSLog(@"formater = %@",formatter);
//获取日期格式对象
- - (NSDateFormatter *)getDateFormatter {
- if (dateFormatter == nil) {
- dateFormatter = [[NSDateFormatter alloc] init];
- [dateFormatter setDateStyle:NSDateFormatterMediumStyle];
- [dateFormatter setTimeStyle:NSDateFormatterNoStyle];
- }
- return dateFormatter;
- }
NSDate 的一些操作(比较、创建、在现有date加减一定时间等)的更多相关文章
- Java 中日期的几种常见操作 —— 取值、转换、加减、比较
Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿.当然,我只提 ...
- 聊聊 Java 中日期的几种常见操作 —— 取值、转换、加减、比较
Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿.当然,我只提 ...
- NSDate 总结日期操作
IOS Object-c NSDate总结日期操作 //NSDate //1, 创建NSDate对象 NSDate *nowDate = [NSDate date]; NSLog(@"%@& ...
- iOS——文件操作NSFileManager (创建、删除,复制,粘贴)
iOS——文件操作NSFileManager (创建.删除,复制,粘贴) iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像android,没有SD卡概念,不能直接访问图像.视 ...
- windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- C#操作Excel(创建、打开、读写、保存)几种方法的总结
在.NET开发中,不管是web程序还是桌面软件(尤其是涉及数据库操作的MIS系统等),常常需操作Excel,如导出数据到Excel,读取Excel中数据到程序中等.总结起来,其操作不外乎创建.打开.读 ...
- 使用navicat操作PostPreSql创建表并设置主键自增和触发器
使用navicat操作PostPreSql创建表并设置主键自增和触发器 1).创建递增序列 2).创建表,使用序列,设置主键递增 3)定义触发函数 自动生成时间戳函数 CREATE OR REPLAC ...
- EF如何操作内存中的数据以及加载相关联表的数据:延迟加载、贪婪加载、显示加载
之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需要用的,这个系列讲讲如何使用EF操作数据库.老版本的EF主要是通过Ob ...
- C语言数组和指针的理解_在取地址运算上的操作_指针加减操作_a 和&a 的区别
1.一个实例+理论分析 在了解数组和指针的访问方式前提下,下面再看这个例子: main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); pr ...
随机推荐
- GCC、GDB、Makefile
1.GCC程序编译 Linux系统下的gcc(GNUCCompiler)是GNU推出的功能强大.性能优越的多平台编译器,是GNU的代表作之一.gcc可以在多种硬体平台上编译出可执行程序,其执行效率与一 ...
- sqlplus常用操作命令(转)
SQL*PLUS 是Oracle提供的一个工具程序,它不仅可以用于测试,运行SQL语句和PL/SQL块,而且还可以用于管理Oracle数据库 1.启动sql*plus 为了使用sql*plus,必须 ...
- <audio>使用2
1.属性测试 <!--显示控件--> <audio src="../images/wind.mp3" id="audioOne" contro ...
- F, A, MS, QM, RF的OFFER和经历 -- Final update
昨天收到FB的电话,我的OFFER已经批下来了,这也意味着我的JOB HUNTING结束了,下 面是我这两个月来申请结果汇总: Applications (7): Facebook, Google, ...
- [Effective Modern C++] Item 7. Distinguish between () and {} when creating objects - 辨别使用()与{}创建对象的差别
条款7 辨别使用()与{}创建对象的差别 基础知识 目前已知有如下的初始化方式: ); ; }; }; // the same as above 在以“=”初始化的过程中没有调用赋值运算,如下例所示: ...
- RMAN之一:快速入门
1.数据导出基础 (1)创建datapump导出文件的目录对象并为相应用户授予权限. 出于安全考虑,不允许oracle用户直接在OS上进行文件的操作,而应通过directory对象指定. SQL> ...
- 【转】【可用】Android 登录判断器,登录成功后帮你准确跳转到目标activity
我们在使用应用时肯定遇到过这样的情景,打开应用,并不是需要我们登录,你可以浏览应用中的大部分页面,但是当你想看某个详情页的时候,点击后突然跳转到了登录页面,好,我们输入账号密码,点击登录,登录成功,跳 ...
- CS0016: 未能写入输出文件*****目录名称无效
一大早,杀毒软件弹出删除隐私记录.清理空间一堆堆的提醒,一般我都是无视它,今天顺便点了下清理,然后出问题. 昨晚下班提交的代码,程序运行好好地,今早清理完系统,竟然就出问题了, 具体如下 CS0016 ...
- %hd %d %ld %u ......
%d 有符号10进制整数 %ld 长整型 %hd短整型%md,m指定的是输出字段的宽度,默认左补空格, 如果数据的位数小于m,则左端补以空格,若大于m,则 按实际位数输出,如: printf(&quo ...
- MYSQL 中的变量
1.用户自己定义变量 2.系统变量(全局变量,会话变量) ----------------------------------------------------------------------- ...