1.NSDate 和 NSString 之间的转换

  • 这之间的转换主要依靠NSDateFormatter
  • NSDate <------> NSString
    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";NSString *strDate = [formatter stringFrom:date];NSDate *date =[formatter dateFrom:str];

其中dateFormat格式可以参考苹果官方文档Working With Fixed Format Date Representations

2.NSDate通过NSCalendar操作

  • 转化为NSCalendar方便于获得各种日期参数
-(NSDateComponents*)getDateComponentsFromDate:(NSDate*)date{NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];//设置成中国阳历NSDateComponents *comps = [[NSDateComponents alloc] init];NSInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;//这句我也不明白具体时用来做什么。。。comps = [calendar components:unitFlags fromDate:date];return comps;
}
  • NSDateComponets 可以获得 年,月,日,以及第几个星期等等

3. NSDate之间的比较

  • 一般用来做文件夹排序等操作
[_dateDirArray sortedArrayUsingComparator: ^NSComparisonResult(__nonnull id obj1,__nonnull id obj2){NSString *stringDateObj1 = obj1;NSString *stringDateObj2 = obj2;NSDate *dateObj1 = [dateFormatter dateFromString:stringDateObj1];NSDate *dateObj2  =[dateFormatter dateFromString:stringDateObj2];return [dateObj1 compare:dateObj2];}]
  • 另外一种用来计算两者之间的时间差
 //lastDate和nowDate为NSDate类型,最后得到的秒数为lastDate-nowDate所得NSInteger timeDistance= [lastDate timeIntervalSinceDate:nowDate]

以及

    // 时间1NSDate *date1 = [NSDate date];NSTimeZone *zone1 = [NSTimeZone systemTimeZone];NSInteger interval1 = [zone1 secondsFromGMTForDate:date1];NSDate *localDate1 = [date1 dateByAddingTimeInterval:interval1];// 时间2NSDate *date2 = [NSDate date];NSTimeZone *zone2 = [NSTimeZone systemTimeZone];NSInteger interval2 = [zone2 secondsFromGMTForDate:date2];NSDate *localDate2 = [date2 dateByAddingTimeInterval:interval2];// 时间2与时间1之间的时间差(秒)double intervalTime = [localDate2 timeIntervalSinceReferenceDate] - [localDate1 timeIntervalSinceReferenceDate];NSInteger seconds = lTime % 60;NSInteger minutes = (lTime / 60) % 60;NSInteger hours = (lTime / 3600);NSInteger days = lTime/60/60/24;NSInteger month = lTime/60/60/24/12;NSInteger years = lTime/60/60/24/365;

转载于:https://www.cnblogs.com/RoysPhoneBlog/p/9321448.html

NSDate NSCalendar NSString之间的故事以及转换相关推荐

  1. python psi计算_KL散度,PSI,IV值之间的故事

    原标题:KL散度,PSI,IV值之间的故事 KL散度,PSI,IV值之间的故事 01 KL散度 KL散度也称KL距离或相对熵.是一个从信息论.熵的角度量化距离的量,但跟一般的距离有不一样的地方. 距离 ...

  2. 8421BCD码 5421BCD码 余三码 格雷码 余三循环码之间的关系,转换以及简易方法

    8421BCD码 5421BCD码 余三码 格雷码 余三循环码之间的关系,转换以及简易方法 1. 有权码和无权码的包括 2.各种码值的介绍 8421码的简介 8421码又称为BCD码,是十进代码中最常 ...

  3. java jpg转换tif_JAVA 实现jpg/tif/bmp 等图片之间格式得互相转换 | 学步园

    tif 图片的转换 tif图片无法在浏览器中预览 下载 java处理图片的 JAI 包(http://download.csdn.net/detail/guoxuepeng123/5258630) i ...

  4. dpi与dp的关系_px、dp、sp、dpi之间的区别和转换

    px.dp.sp.dpi之间的区别和转换 区别: px (pixels)像素 -- 是像素,就是屏幕上实际的像素点单位.(一般UI人员在ps中经常使用) dp/dip 设备独立像素,android l ...

  5. 入门必学 | R语言数值型、字符型及因子型数据之间的差异与转换

    字符型.数值型及因子型数据之间的转换 数据类型的基本知识 不同数据类型之间的差异 数值型与字符型或因子型绘图时的差异 数值型与因子型和字符型的模型构建时的差异 三种数据类型之间进行转换    常用的三 ...

  6. NSDate NSString时间字符串 NSTimeInterval 的转换

    //时间格式 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@" ...

  7. 时区日期处理及定时 (NSDate,NSCalendar,NSTimer,NSTimeZone)

    NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间 Dates NSDate类提供了创建date,比较date以及计算两个date之间间隔的功能.Date对象是不可改变的. 如 ...

  8. 时区日期处理及定时 (NSDate,NSCalendar,NSTimer,NSTimeZone) -- IOS(实例)

    NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间 Dates NSDate类提供了创建date,比较date以及计算两个date之间间隔的功能.Date对象是不可改变的. 如 ...

  9. supersr--时间显示逻辑--NSDate+NSCalendar

    一种:时间逻辑: - (NSString *)created_at{ //    从后台返回的字符串格式:Mon Aug 03 09:17:31 +0800 2014, //NSDateFormatt ...

最新文章

  1. 如何避免在Excel VBA中使用选择
  2. python找与7相关的数_用python统计并输出1000以内所有能同时被3和7整除的数的个数?...
  3. PHP爱讯云商城源码v0.7.0-新增app功能
  4. hadoop 替代方案_如何通过比较替代方案做出有效的决定
  5. eureka上的微服务不能通过服务名调用_掌门教育微服务体系 Solar | 阿里巴巴 Nacos 企业级落地上篇...
  6. python安装失败找不到指定路径_解决安装python库时windows error5 报错的问题
  7. 嵌入式系统硬件原理设计与审核
  8. idea exclude from compile 再加回来
  9. 两则新闻的另外一种角度
  10. PHP 将微信录音arm格式文件转mp3格式
  11. Day8 二分-----A very hard mathematic problem
  12. Java程序编写 • 【第4章 程序:随机本周菜品;简易计算器】
  13. ps3自建服务器,PS3新手图文教程之网络设置
  14. 【Solr】之倒排索引算法【字典树】2
  15. 利用CompletableFuture集齐7龙珠
  16. FFmpeg入门详解之11:H264BSAnalyzer简介
  17. 【Java】MacOS Eclipse使用JOL观察对象布局(详解)
  18. python ocr文字识别竖排繁体_繁体文字识别 ABBYY 与 千百OCR 使用比较
  19. 数据结构-树与二叉树-思维导图+小结
  20. 计算机网络室工作总结,计算机教室工作总结范文

热门文章

  1. 作业 3 应用分支与循环结构解决问题 统计字符个数
  2. 计算机艺术未来发展趋势,计算机技术对现代艺术设计的影响
  3. 用vs2017编写html,vs2017可以编写java
  4. java定义list长度,在Java中定义固定大小的列表
  5. svn mysql认证_svnapachemysql 认证搭建
  6. oracle主目录修改,ORACLE主目录权限被修改,恢复ORACLE_HOME或GI_HOME权限、属主
  7. 搬书匠 mysql_如何java进阶,我一直都有在学习,可是感觉好久都没进步了,心里好焦急?...
  8. css中的margin和padding
  9. OpenCV中的霍夫线变换、概率霍夫线变换
  10. Java后端进行经纬度点抽稀聚合,HTML呈现及前端聚合实现点聚合~