iOS阶段学习第15天笔记(NSDate操作)
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操作)的更多相关文章
- iOS阶段学习第15天笔记(NSDictionary与NSMutableDictionary 字典)
iOS学习(OC语言)知识点整理 一.OC中的字典 1)字典:是一个容器对象,元素是以键-值对(key-value)形式存放的,key和value是任意类型的对象,key是唯一的,value可以重复 ...
- iOS阶段学习第15天笔记(NSArray与NSMutableArray 数组)
iOS学习(OC语言)知识点整理 一.OC中的数组 1)数组:也是一个对象,数组中存放的是对象的地址,可以存放任意类型对象的地址,只能是对象不能是具体的数值,数组是有序的, 可以存放重复的元 ...
- iOS阶段学习第16天笔记(Category-NSSet-SEL-NSIndexSet 操作)
iOS学习(OC语言)知识点整理 一.NSSet.NSMutableSet集合的介绍 1)NSSet.NSMutableSet集合,元素是无序的,不能有重复的值. 2)用实例方法创建一个不可变集合对象 ...
- iOS 阶段学习第11天笔记(OC基础知识)
iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import 用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h, ...
- iOS 阶段学习第七天笔记(函数、递归)
iOS学习(C语言)知识点整理笔记 一.函数 1)概念:具有特定功能的代码块的封装 2)函数的定义: 函数类型+函数名(形参列表) 函数类型 函数名(形参类型1 形参名1,形参类型2 形参名2 ...
- iOS阶段学习第三天笔记(运算符)
iOS学习(C语言)知识点整理笔记 1.运算符 一.算术运算符 1)表达式由变量.常量.运算符构成,有确定的类型和值 2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模) 3)算术运 ...
- iOS 阶段学习第三天笔记(运算符)
iOS学习(C语言)知识点整理笔记 1.运算符 一.算术运算符 1)表达式由变量.常量.运算符构成,有确定的类型和值 2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模) 3)算术运 ...
- iOS阶段学习第29天笔记(UITextField的介绍)
iOS学习(UI)知识点整理 一.关于UITextField的介绍 1)概念: UITextField 是用于接收用户输入的一个控件 2)UITextField 初始化实例代码: //创建一个UIt ...
- iOS阶段学习第26天笔记(UILabel的介绍)
iOS学习(UI)知识点整理 一.关于UILabel的使用介绍 1)概念:UILabel是一个继承自UIView的用于展示文本信息的控件 2)UI中所有的控件都继承自UIView 即UIView 是U ...
随机推荐
- [nRF51822] 2、D-BUG之诗
4线SPI彩屏局部刷屏偏移解决 ——原来我早已经在成功的旁边了 最近在研究用低速.低RAM的单片机来驱动小LCD或TFT彩屏实现动画效果 首先我用一个16MHz晶振的m0内核的8位单片机nRF5182 ...
- IOS Animation-KeyPath值
IOS Animation-KeyPath值 keyPath值 说明 值类型 position 移动位置 CGPoint opacity 透明度 0-1 bounds 变大与位置 CGRect bou ...
- PsySH:PHP交互运行环境
是什么 我们经常会在命令行用到诸如mysql.python等命令,特点是一旦输入后,会进入命令本身的交互运行环境.示例: [root@iZ25vs3mckhZ ~]# python Python 2. ...
- Atitit vod click event design flow 视频点播系统点击事件文档
Atitit vod click event design flow 视频点播系统点击事件文档 重构规划1 Click cate1 Click mov4 重构规划 事件注册,与事件分发管理器分开 ...
- WPF入门教程系列四——Dispatcher介绍
一.Dispatcher介绍 微软在WPF引入了Dispatcher,那么这个Dispatcher的主要作用是什么呢? 不管是WinForm应用程序还是WPF应用程序,实际上都是一个进程,一个进程可以 ...
- vsCode 添加浏览器调试和js调试的方法
1.直接按F5可以调试的方法或者点击运行按钮(可以直接运行html文件或者js文件) 在launch.json文件中的配置如下: { "version": "0. ...
- Netty学习四:Channel
1. Channel Channel是Netty的核心概念之一,它是Netty网络通信的主体,由它负责同对端进行网络通信.注册和数据操作等功能. 1.1 工作原理 如上图所示: 一旦用户端连接成功,将 ...
- zabbix 3.0 安装 ubuntu环境
zabbix 3.0 安装 标签(空格分隔): 开发 [TOC] 下载deb # wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/z ...
- 【.net】从比较两个字节数组谈起
上午,有位初学者朋友问:如何比较两个字节数组中各字节是否相等? 不许笑,我一向反对嘲笑初学者,初学者不认真学习时你可以批评,但不能讥嘲.你不妨想想,你自己开始学习编程的时候又是什么个光景? 好,于是, ...
- 自制jQuery标签插件
在项目中需要一个添加标签的小插件,查看了一些已有插件后,发现很现成的高级插件,也有比较简单的插件.最后还是决定自己来写,这样能控制代码,以后与其他插件结合使用的时候能更好的把控.初步在IE6 7 8, ...