iOS----时间日期处理
时间日期处理
1.NSDateFormatter
- 日期格式化
①可以把NSString 类型转为 NSDate类型
举例 把 "2015-08-23 19:46:14" 转为NSDate类型
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// 设置日期格式(formatter对象就会按照这个格式去解析字符串,或者生成字符串)
// y年 M月 d日 H小时(24小时制) h小时(12小时制) m分 s秒
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSDate *createDate = [formatter dateFromString:@"2015-08-23 19:46:14"];
②把 NSDate 类型转为 NSString 类型
举例把当前时间 转为NSString型
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// 设置日期格式(formatter对象就会按照这个格式去解析字符串,或者生成字符串)
// y年 M月 d日 H小时(24小时制) h小时(12小时制) m分 s秒
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
// 当前时间
NSDate *date = [NSDate date];
NSString *string = [formatter stringFromDate:date];
2.NSDate
// 获得当前时间
NSDate *nowDate = [NSDate date];
//从beforeDate -> nowDate的时间间隔,秒
NSTimeInterval interval = [nowDate timeIntervalSinceDate:beforeDate];
// 时间戳
// "time": "6456546455435",到1970年的时间
[NSDate dateWithTimeIntervalSince1970:6456546455435 / 1000.0];
3.NSCalendar
日期组件
// 日期组件 (年、月、日、小时、分、秒)
/** NSCalendarUnit 枚举量
* NSCalendarUnitEra
NSCalendarUnitYear
NSCalendarUnitMonth
NSCalendarUnitDay
NSCalendarUnitHour
NSCalendarUnitMinute
NSCalendarUnitSecond
NSCalendarUnitWeekday
NSCalendarUnitWeekdayOrdinal
NSCalendarUnitQuarter
NSCalendarUnitWeekOfMonth
*/
①获得单个元素
- (NSInteger)component:(NSCalendarUnit)unit fromDate:(NSDate *)date;
// 年
NSInteger year = [calendar component:NSCalendarUnitYear fromDate:createDate];
// 月
NSInteger month = [calendar component:NSCalendarUnitMonth fromDate:createDate];
// 日
NSInteger day = [calendar component:NSCalendarUnitDay fromDate:createDate];
NSLog(@"%zd %zd %zd", year, month, day);
②获得多个元素
// 创建日期类--获取当前时分秒
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *cmp = [calendar components:NSCalendarUnitSecond | NSCalendarUnitMinute | NSCalendarUnitHour fromDate:[NSDate date]];
//获得当前秒
NSInteger sec = cmp.second;
//获得当前分钟
NSInteger min = cmp.minute;
//获得当前小时
NSInteger hour = cmp.hour;
③获得2个日期(NSDate)之间的时间间隔
NSCalendar *calendar = [NSCalendar currentCalendar];
NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
NSDateComponents *cmps = [calendar components:unit fromDate:beforeDate toDate:nowDate options:0];
iOS----时间日期处理的更多相关文章
- iOS下日期的处理(世界标准时转本地时间)
NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间 Dates NSDate类提供了创建date,比较date以及计算两个date之间间隔的功能.Date对象是 ...
- ios 对日期的处理(包括计算昨天时间、明天时间)
NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间 Dates NSDate类提供了创建date,比较date以及计算两个date之间间隔的功能.Date对象是不可改变的. 如 ...
- 一篇文章吃透iOS、JS的时间日期(Date, Calendar, Locale, TimeZone)
iOS 时间相关类 NSDate - 表示一个绝对的时间点. NSCalendar - 代表一个特定的日历,例如公历或者希伯来日历.它提供了一系列基于日期的计算,并且可以让你在"NSDate ...
- ios自定义日期、时间、城市选择器
选择器,我想大家都不陌生,当需要用户去选择某些范围值内的一个固定值时,我们会采用选择器的方式.选择器可以直观的提示用户选择的值范围.统一信息的填写格式,同时也方便用户快速的进行选择,比如对于性别,正常 ...
- iOS - 获取当前时间日期星期几
//获取当前时间日期星期 - (NSString *)getCurrentTimeAndWeekDay { NSArray * arrWeek=[NSArray arrayWithObjects:@& ...
- iOS时间问题
在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等.解决办法网上比比皆是,但大多零零散散,很多资料并没有说明其中问题.这里集中总结一下,以便于以后查阅和供大家参考. ...
- iOS下日期的处理
NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间 Dates NSDate类提供了创建date,比较date以及计算两个date之间间隔的功能.Date对象是 ...
- IOS时间格式转换
在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理. 例如:如何将格式为“12-May-14 05.08.02.000000 PM” ...
- 设计和编写一个异步通用Picker选择器,用于时间日期、城市、商品分类的选择
目录 一.功能规划 二.最底层基础实现 (1)Picker界面和功能实现 (2)不同类型的选择器基础实现 三.数据源层 (1)时间日期 (2)多级同步分类,如:城市 (3)多级异步分类,如:城市 四. ...
- 一起学微软Power BI系列-使用技巧(5)自定义PowerBI时间日期表
1.日期函数表作用 经常使用Excel或者PowerBI,Power Pivot做报表,时间日期是一个重要的纬度,加上做一些钻取,时间日期函数表不可避免.所以今天就给大家分享一个自定义的做日期表的方法 ...
随机推荐
- form之action的绝对路径与相对路径(转载)
1.当你的form要提交到你自己的站点之外的URL的时候,就采取绝对路径: <form action="http://www.xxx.yyy:zzzz/mmm/nn/kkk.jsp&q ...
- Synthesizing Images of Humans in Unseen Poses
Synthesizing Images of Humans in Unseen Poses balakg/posewarp-cvpr2018 https://github.com/balakg/pos ...
- set 去重 会 破坏 原有list 的元素相对位置
feature_reduce_l = [i if re.search('\d', i) is None else i[0:re.search('\d', i).endpos - 1] for i in ...
- struts2 中 result type="stream"
Stream result type是Struts2中比较有用的一个feature.特别是在动态生成图片和文档下载的情况下 1:图片验证码: Action类,action主要要提供一个获取InputS ...
- js来获取所有屏幕适配的总结
"屏幕分辨率为:"+screen.width+"*"+screen.height "屏幕可用大小:"+screen.availWidth+& ...
- PP-判断生产订单状态(关闭)
方法一.工单号通过 resb找到对象号 然后找到状态为I0045利用表JEST与TJ02T . 方法二.函数'STATU_CHECK' 检查工单状态为'I0045' 则为已做技术性关闭. READ T ...
- XMU 1612 刘备闯三国之桃园结义 【二分】
1612: 刘备闯三国之桃园结义 Time Limit: 1000 MS Memory Limit: 128 MBSubmit: 181 Solved: 12[Submit][Status][We ...
- 解决Linux环境Oracle显示乱码
首先查看当前的编码格式 select userenv('language') from dual; 解决方法: 一.临时解决方法 切换到Oracle用户,执行 export NLS_LAN ...
- IIS application pool access desktop denied
https://stackoverflow.com/questions/5437723/iis-apppoolidentity-and-file-system-write-access-permiss ...
- YTU 2958: 代码填充--雨昕学画画
2958: 代码填充--雨昕学画画 时间限制: 1 Sec 内存限制: 128 MB 提交: 156 解决: 102 题目描述 雨昕开始学画水彩画,老师给雨昕一个形状(Shape)类,雨昕在Sha ...