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 ...
随机推荐
- 翻译-使用Spring调用SOAP Web Service
原文链接: http://spring.io/guides/gs/consuming-web-service/ 调用SOAP web service 本指南将指导你使用Spring调用一个基于SOAP ...
- 虚拟化平台cloudstack(3)——安装(下)
登录时用户名和密码错误 默认账号密码 admin/password 管理节点安装好后,初始化数据库,完了使用admin和password登陆提示用户名密码错误,查看日志: Fail to genera ...
- 微软 Build 2016年开发者大会发布多项功能升级
微软Build 2016开发者大会在美国旧金山的莫斯康展览中心开幕.本次大会对一些重点功能进行了完善.如手写笔支持技术Windows Ink.语音识别Cortana应用集(Cortana Collec ...
- 你不可不知的HTML优化技巧
如何提升Web页面的性能,很多开发人员从多个方面来下手如JavaScript.图像优化.服务器配置,文件压缩或是调整CSS. 很显然HTML 已经达到了一个瓶颈,尽管它是开发Web 界面必备的核心语言 ...
- ios 常用数学函数
需要 引入头文件 #import <math.h> 1. 三角函数 double sin (double);正弦 double cos (double);余弦 double tan ...
- Atitit js版本es5 es6新特性
Atitit js版本es5 es6新特性 Es5( es5 其实就是adobe action script的标准化)1 es6新特性1 Es5( es5 其实就是adobe action scrip ...
- paip.提升性能--多核cpu中的java/.net/php/c++编程
paip.提升性能--多核cpu中的java/.net/php/c++编程 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http ...
- 简单的JPA注解例子
package ssh.entity; import java.math.BigDecimal; import java.util.Date; import javax.persistence.*; ...
- 在jQuery ajax中按钮button和submit的区别分析
在使用jQuery ajax的get方法进行页面传值,不能用submit,否则无刷新获取数据展示 点击submit提交按钮,sendPwd.php通过$_POST接收传过来的值,然后echo一段数据. ...
- javascript_core_06之正则、Math、Date
1.RegExp:Regular Expression,创建封装正则表达式: ①正则直接量:var reg=/reg/ig:②var reg=new RegExp(“reg”,“ig”): 2.Reg ...