前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS----时间日期处理

iOS----时间日期处理

作者头像
用户1941540
发布2018-05-11 12:02:26
1K0
发布2018-05-11 12:02:26
举报
文章被收录于专栏:ShaoYL

时间日期处理

1.NSDateFormatter

  • 日期格式化

①可以把NSString 类型转为 NSDate类型

举例 把 "2015-08-23 19:46:14" 转为NSDate类型

代码语言:javascript
复制
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型

代码语言:javascript
复制
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

代码语言:javascript
复制
    // 获得当前时间
    NSDate *nowDate = [NSDate date];

    //从beforeDate -> nowDate的时间间隔,秒
    NSTimeInterval interval = [nowDate timeIntervalSinceDate:beforeDate];

    // 时间戳
    // "time": "6456546455435",到1970年的时间
    [NSDate dateWithTimeIntervalSince1970:6456546455435 / 1000.0];

3.NSCalendar

日期组件

代码语言:javascript
复制
 // 日期组件 (年、月、日、小时、分、秒)
    /** NSCalendarUnit 枚举量
     *  NSCalendarUnitEra
        NSCalendarUnitYear
        NSCalendarUnitMonth
        NSCalendarUnitDay
        NSCalendarUnitHour
        NSCalendarUnitMinute
        NSCalendarUnitSecond
        NSCalendarUnitWeekday
        NSCalendarUnitWeekdayOrdinal
        NSCalendarUnitQuarter
        NSCalendarUnitWeekOfMonth
     */

①获得单个元素

代码语言:javascript
复制
- (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);

②获得多个元素

代码语言:javascript
复制
   // 创建日期类--获取当前时分秒
    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)之间的时间间隔

代码语言:javascript
复制
NSCalendar *calendar = [NSCalendar currentCalendar];
NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
NSDateComponents *cmps = [calendar components:unit fromDate:beforeDate toDate:nowDate options:0];
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-08-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 时间日期处理
    • 1.NSDateFormatter
      • ①可以把NSString 类型转为 NSDate类型
      • 举例 把 "2015-08-23 19:46:14" 转为NSDate类型
      • ②把 NSDate 类型转为 NSString 类型
      • 举例把当前时间 转为NSString型
    • 2.NSDate
      • 3.NSCalendar
        • 日期组件
        • ①获得单个元素
        • ②获得多个元素
        • ③获得2个日期(NSDate)之间的时间间隔
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档