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 ...
随机推荐
- Hibernate缓存(转)
来自:http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html 一.why(为什么要用Hibernate缓存?) Hibernate是一个 ...
- .NetCore~框架版本号不同引起dotnet不能run它
对于.netCore来说,今年已经推出了正式版,这要求使用vs2015的开发者需要升级到beta3版,而如果使用老版VS开始的.netCore应用程序,它的架构版本将为是测试版"versio ...
- atitit。企业的价值观 员工第一 vs 客户第一.docx
atitit.企业的价值观 员工第一 vs 客户第一.docx 1. 客户第一的说法是错误的,员工优先是正确的,理念与价值观1 1.1. 任何一个组织,应该组织成员优先级要比外部成员高才对1 1.2. ...
- JS BOM
一.window对象 //系统对话框 var flag=confirm("提示语句");//弹出一个对话框 当你点击确定flag=true,点击取消flag=false: var ...
- WebClient.DownloadFile(线程机制,异步下载文件)
线程机制(避免卡屏),异步下载文件. 我做网站的监控,WebClient.DownloadFile这个方法是我经常用到的,必要的时候肯定是要从网上下载些什么(WebRequest 也可以下载网络文件, ...
- hdu 1811Rank of Tetris (并查集 + 拓扑排序)
/* 题意:这些信息可能有三种情况,分别是"A > B","A = B","A < B",分别表示A的Rating高于B,等于B ...
- Linq(一)
Linq是c#设计者们在c#3.0中新添加的语法:查询表达式.使用查询表达式,很多标准查询操作符都能转化成更容易理解的代码,也就是和SQL风格非常接近的代码. 在介绍Linq之前,先介绍下泛型集合IE ...
- Quartz应用实践入门案例二(基于java工程)
在web应用程序中添加定时任务,Quartz的简单介绍可以参看博文<Quartz应用实践入门案例一(基于Web应用)> .其实一旦学会了如何应用开源框架就应该很容易将这中框架应用与自己的任 ...
- caffe-window搭建自己的小项目例子
手头有一个实际的视觉检测的项目,用的是caffe来分类,于是需要用caffe新建自己的项目的例子.在网上找了好久都没有找到合适的,于是自己开始弄. 1 首先是配置caffe的VC++目录中的inclu ...
- C# Winform 通过FlowLayoutPanel及自定义的编辑控件,实现快速构建C/S版的编辑表单页面
个人理解,开发应用程序的目的,不论是B/S或是C/S结构类型,无非就是实现可供用户进行查.增.改.删,其中查询用到最多,开发设计的场景也最为复杂,包括但不限于:表格记录查询.报表查询.导出文件查询等等 ...