美文网首页swift基础
Swift与OC比较之NSDateComponents

Swift与OC比较之NSDateComponents

作者: 莽原奔马668 | 来源:发表于2018-08-22 15:23 被阅读0次

用NSDateComponents计算时间差

先来看OC

//获取日历对象
NSCalendar *cal = [NSCalendar currentCalendar];
//fromDate
NSDate *fromDate;
//toDate
NSDate *toDate;
//计算时间差
NSDateComponents *gap = [cal components:NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:fromDate toDate:toDate options:0];
//差几年
NSInteger num = [gap year];
//差几月
NSInteger num = [gap month];
//差几天
NSInteger num = [gap day];
//差几小时
NSInteger num = [gap hour];
//差几分钟
NSInteger num = [gap minute];

再来看swift

//获取日历对象
let cal = Calendar.current
//fromDate
let fromDate;
//toDate
let toDate;
//计算时间差
let gap = cal.dateComponents([Calendar.Component.day, Calendar.Component.hour, Calendar.Component.minute, Calendar.Component.month, Calendar.Component.year], from: fromDate, to: toDate)
//差几年
let num = gap.year!
//差几月
let num = gap.month!
//差几天
let num = gap.day!
//差几小时
let num = gap.hour!
//差几分钟
let num = gap.minute!

相关文章

  • Swift与OC比较之NSDateComponents

    用NSDateComponents计算时间差 先来看OC //获取日历对象NSCalendar *cal = [N...

  • Swift与OC比较之NSDateFormatter

    用NSDateFormatter转化日期 先来看OC //初始化formatter对象NSDateFormatte...

  • Swift与OC比较之NSStringDrawingOption

    用NSStringDrawingOptions计算label的高度 先来看OC //字体大小配置NSDiction...

  • Swift的优化

    swift 比oc更快,但是swift编译比oc时间长因为swift使用Whole Module Optimiza...

  • swift基础小结1

    swift基础小结 for 循环OC与Swift对比 While循环与downhill循环 OC与swift使用的...

  • OC与swift的区别

    OC与Swift的区别一(文件结构) OC与Swift的区别一(常量、变量、运算符) OC与Swift的区别三(条...

  • swift与OC混合式编程

    swift与OC混合式编程 swift在不断完善, 与OC并驾齐驱. swift与OC混合式编程是现阶段很多项目开...

  • swift5版本学习

    swift与OC区别:swift与OC1、Swift容易阅读,语法和文件结构简易化。2、Swift更易于维护,文件...

  • OC与Swift混编 / Mix & Match

    OC与Swift混编 / Mix & Match OC in Swift 通过Header File创建Bridg...

  • Swift blog

    建议读一遍swift blog来了解OC与swift不同以及swift版本变动细节 OC id -> Swift ...

网友评论

    本文标题:Swift与OC比较之NSDateComponents

    本文链接:https://www.haomeiwen.com/subject/gghyiftx.html