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 ...
随机推荐
- [安卓] 14、安卓HTTP——POST和GET用法分析
内容简介 本文通过建立一个简单的Servlet服务器来分析安卓上用HTTP和服务器通信的细节,旨在演示C/S模式下服务器端和客户端的工作过程. 目录 part.1 用MyEclipse建立一个简单的s ...
- 换个角度理解云计算之HDFS
学习云计算,必然得了解Hadoop,而Hadoop中的HDFS(分布式文件系统)是一个基础,接下来就写一下我所理解的HDFS. 有一个很有特别的村庄,村庄里面有一个很牛逼的人,叫做“大哥”,村民们都信 ...
- 切换到ZSH以后遇到的坑
了解到ZSH的强大以后打算将自己目前使用的bash切换到ZSH.具体ZSH比bash强在那里就不多少了,网上的文章一搜一大把.个人主要是被ZSH强大的自动补全吸引过来的.虽然bash装了bash-co ...
- Java-字符串练习
1. 用自己的算法实现startsWith和endsWith功能. String str="dsjhajdl"; Scanner sc=new Scanner(System.in) ...
- Atitit 面向对象 封装的实现原理
Atitit 面向对象 封装的实现原理 1.1. 动态对象的模拟使用map+函数接口可以实现1 1.2. 在用结构体 + 函数指针 模拟 对象 1 1.3. This指针..1 1.4. " ...
- iOS---类方法(静态方法)和实例方法
类方法 实例方法是以+开头的方法, 实例方法是用实例对象访问: 类方法的对象是类而不是实例,通常用来创建对象或者工具类. 在实例方法里,根据继承原理发送消息给self和super其实都 ...
- Jquery判断页面图片是否加载失败,加载失败则显示默认图片
例子: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...
- Ext2.x学习笔记
Ext2.X学习笔记一 一.ExtJS简介 1.1 什么是Ext JS? · Ext JS是一个Ajax框架,可以用来开发富客户端的Ajax应用,是一个用javascript写的,主要用于创建前端用 ...
- HTML5横竖屏提示
HTML代码: <div class="screen-prompt"></div> CSS判断代码: /*横竖屏提示*/ @media screen and ...
- 【WP 8.1开发】电子罗盘
罗盘,估计也不用我过多介绍,学过初中物理的都知道,不管是指南针,还是指北针,其本质就是用来辨别方向的. 操作电子罗盘伟感器也不复杂,主要就是两个角度: 1.当前方向与磁北的夹角: 2.当前方向与地北的 ...