iOS学习(OC语言)知识点整理

一、OC关于NSDate类的操作实例代码

  //默认直接显示对象,显示的是格林威治时间
//获取当前日期时间的实例方法
NSDate *date1=[[NSDate alloc]init];
NSLog(@"date1:%@",date1); //获取当前日期时间的方法二:类方法
NSDate *date2=[NSDate date];
NSLog(@"date2:%@",date2); //获取从1970年1月1日00:00到date2的秒数
NSTimeInterval interval= [date2 timeIntervalSince1970]; //循环操作为了体现时间差
for(int i=;i<;i++){}
//计算两个时间差(秒数)
interval=[date2 timeIntervalSinceDate:date1]; //date2距现在的时间差
interval=[date1 timeIntervalSinceNow];
NSLog(@"%f",interval); //实例方法:得到date2的后一天的时间对象
NSDate *date3=[date2 dateByAddingTimeInterval:*];
NSLog(@"date3:%@",date3); //类方法:得到距date2多少秒后的一个日期时间对象
NSDate *date4=[NSDate dateWithTimeInterval:* sinceDate:date2];
NSLog(@"date4:%@",date4); //得到距现在多少秒后的一个日期时间对象
NSDate *date5=[NSDate dateWithTimeIntervalSinceNow:**];
NSLog(@"date5:%@",date5); //获取将来的一个日期时间对象
NSDate *date6=[NSDate distantFuture];
NSLog(@"date6:%@",date6); //获取过去的一个日期时间对象
NSDate *date7=[NSDate distantPast];
NSLog(@"date7:%@",date7); //对日期时间对象做格式化操作的类
NSDateFormatter *format=[[NSDateFormatter alloc]init];
//设置日期的样式
[format setDateStyle:NSDateFormatterMediumStyle];
//设置时间的样式
[format setTimeStyle:NSDateFormatterMediumStyle];
NSString *styledate= [format stringFromDate:date1];
NSLog(@"styledate:%@",styledate);
//自定义格式字符串
[format setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
//将NSDate对象转换为字符串
NSString *sdate=[format stringFromDate:date1];
NSLog(@"sdate:%@",sdate); NSString *str=@"2015-07-10 12:10:30";
//将字符串形式的日期时间转换为NSDate对象(保证字符串的形式与format中的形式一致)
NSDate *date8=[format dateFromString:str];
NSLog(@"date8:%@",date8); NSDate *newdate=[NSDate date];
//时间格式化字符串
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss MMM eee a"];
NSString *strdate = [formatter stringFromDate:newdate];
NSLog(@"%@",strdate); //时间字符串转换为时间类型
NSDateFormatter * formatter2 = [[NSDateFormatter alloc]init];
NSString * nstr =@"2014年05月01日 10点23分18秒";
[formatter2 setDateFormat:@"yyyy年MM月dd日 hh点mm分ss秒"];
NSDate * date3 = [formatter2 dateFromString:nstr];
//解决时分秒转换不准确问题
NSTimeZone *fzone = [NSTimeZone systemTimeZone];
NSInteger finterval = [fzone secondsFromGMTForDate: date3];
NSDate *fDate = [date3 dateByAddingTimeInterval: finterval];
NSLog(@"%@",fDate); //获取系统时间的年月日时分秒部分
NSCalendar *cal = [NSCalendar currentCalendar];
//Mac 10.10以前的系统使用 NSYearCalendarUnit
unsigned int unitFlags = NSCalendarUnitYear |NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond;
NSDateComponents *d = [cal components:unitFlags fromDate:newdate];
NSLog(@"年=%ld",[d year]);
NSLog(@"月=%ld",[d month]);
NSLog(@"日=%ld",[d day]);
NSLog(@"时=%ld",[d hour]);
NSLog(@"分=%ld",[d minute]);
NSLog(@"秒=%ld",[d second]); //将传入时间字符串转换成需要的时间格式
NSString *dateStr=@"2013-08-13 20:28:40";
NSDateFormatter *format=[[NSDateFormatter alloc] init];
[format setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *fromdate=[format dateFromString:dateStr];
//解决时分秒转换不准确问题
NSTimeZone *fromzone = [NSTimeZone systemTimeZone];
NSInteger frominterval = [fromzone secondsFromGMTForDate: fromdate];
NSDate *fromDate = [fromdate dateByAddingTimeInterval: frominterval];
NSLog(@"fromdate=%@",fromDate);

iOS阶段学习第15天笔记(NSDate操作)的更多相关文章

  1. iOS阶段学习第15天笔记(NSDictionary与NSMutableDictionary 字典)

    iOS学习(OC语言)知识点整理 一.OC中的字典 1)字典:是一个容器对象,元素是以键-值对(key-value)形式存放的,key和value是任意类型的对象,key是唯一的,value可以重复 ...

  2. iOS阶段学习第15天笔记(NSArray与NSMutableArray 数组)

    iOS学习(OC语言)知识点整理 一.OC中的数组 1)数组:也是一个对象,数组中存放的是对象的地址,可以存放任意类型对象的地址,只能是对象不能是具体的数值,数组是有序的,      可以存放重复的元 ...

  3. iOS阶段学习第16天笔记(Category-NSSet-SEL-NSIndexSet 操作)

    iOS学习(OC语言)知识点整理 一.NSSet.NSMutableSet集合的介绍 1)NSSet.NSMutableSet集合,元素是无序的,不能有重复的值. 2)用实例方法创建一个不可变集合对象 ...

  4. iOS 阶段学习第11天笔记(OC基础知识)

    iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import  用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h, ...

  5. iOS 阶段学习第七天笔记(函数、递归)

     iOS学习(C语言)知识点整理笔记 一.函数 1)概念:具有特定功能的代码块的封装 2)函数的定义: 函数类型+函数名(形参列表) 函数类型 函数名(形参类型1  形参名1,形参类型2   形参名2 ...

  6. iOS阶段学习第三天笔记(运算符)

    iOS学习(C语言)知识点整理笔记 1.运算符 一.算术运算符 1)表达式由变量.常量.运算符构成,有确定的类型和值 2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模) 3)算术运 ...

  7. iOS 阶段学习第三天笔记(运算符)

    iOS学习(C语言)知识点整理笔记 1.运算符 一.算术运算符 1)表达式由变量.常量.运算符构成,有确定的类型和值 2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模) 3)算术运 ...

  8. iOS阶段学习第29天笔记(UITextField的介绍)

    iOS学习(UI)知识点整理 一.关于UITextField的介绍 1)概念: UITextField 是用于接收用户输入的一个控件 2)UITextField  初始化实例代码: //创建一个UIt ...

  9. iOS阶段学习第26天笔记(UILabel的介绍)

    iOS学习(UI)知识点整理 一.关于UILabel的使用介绍 1)概念:UILabel是一个继承自UIView的用于展示文本信息的控件 2)UI中所有的控件都继承自UIView 即UIView 是U ...

随机推荐

  1. [nRF51822] 2、D-BUG之诗

    4线SPI彩屏局部刷屏偏移解决 ——原来我早已经在成功的旁边了 最近在研究用低速.低RAM的单片机来驱动小LCD或TFT彩屏实现动画效果 首先我用一个16MHz晶振的m0内核的8位单片机nRF5182 ...

  2. IOS Animation-KeyPath值

    IOS Animation-KeyPath值 keyPath值 说明 值类型 position 移动位置 CGPoint opacity 透明度 0-1 bounds 变大与位置 CGRect bou ...

  3. PsySH:PHP交互运行环境

    是什么 我们经常会在命令行用到诸如mysql.python等命令,特点是一旦输入后,会进入命令本身的交互运行环境.示例: [root@iZ25vs3mckhZ ~]# python Python 2. ...

  4. Atitit vod click event design flow  视频点播系统点击事件文档

    Atitit vod click event design flow  视频点播系统点击事件文档 重构规划1 Click cate1 Click  mov4 重构规划 事件注册,与事件分发管理器分开 ...

  5. WPF入门教程系列四——Dispatcher介绍

    一.Dispatcher介绍 微软在WPF引入了Dispatcher,那么这个Dispatcher的主要作用是什么呢? 不管是WinForm应用程序还是WPF应用程序,实际上都是一个进程,一个进程可以 ...

  6. vsCode 添加浏览器调试和js调试的方法

    1.直接按F5可以调试的方法或者点击运行按钮(可以直接运行html文件或者js文件) 在launch.json文件中的配置如下: {     "version": "0. ...

  7. Netty学习四:Channel

    1. Channel Channel是Netty的核心概念之一,它是Netty网络通信的主体,由它负责同对端进行网络通信.注册和数据操作等功能. 1.1 工作原理 如上图所示: 一旦用户端连接成功,将 ...

  8. zabbix 3.0 安装 ubuntu环境

    zabbix 3.0 安装 标签(空格分隔): 开发 [TOC] 下载deb # wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/z ...

  9. 【.net】从比较两个字节数组谈起

    上午,有位初学者朋友问:如何比较两个字节数组中各字节是否相等? 不许笑,我一向反对嘲笑初学者,初学者不认真学习时你可以批评,但不能讥嘲.你不妨想想,你自己开始学习编程的时候又是什么个光景? 好,于是, ...

  10. 自制jQuery标签插件

    在项目中需要一个添加标签的小插件,查看了一些已有插件后,发现很现成的高级插件,也有比较简单的插件.最后还是决定自己来写,这样能控制代码,以后与其他插件结合使用的时候能更好的把控.初步在IE6 7 8, ...