美文网首页
NSDate常用

NSDate常用

作者: JC_Wang | 来源:发表于2017-05-25 19:25 被阅读8次

NSDate常用

标签(空格分隔): 实用编程习惯-coding


[TOC]


1、字符串与日期的相互转换

        //NSDate求日期
        NSDate *date = [NSDate date];
        NSDateFormatter *fm = [[NSDateFormatter alloc] init];
        fm.dateFormat = @"yyyy-MM-dd HH-mm-ss";
        //-----日期转换成字符串------
        NSDate *lastDate = [NSDate dateWithTimeInterval:-24*60*60 sinceDate:date];
        NSString *dateString = [fm stringFromDate:lastDate];
        NSLog(@"一天前的日期string :%@",dateString);

        //-----字符串转换成日期------
        NSString *oneDateString = @"2022-12-6 18:01:33";
        fm.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
        NSDate *oneDate = [fm dateFromString:oneDateString];

        NSLog(@"未来某天的日期Obj :%@",oneDate);
image_1bgvjtsdmgvh14vk18vm9mmo8f9.png-38.7kBimage_1bgvjtsdmgvh14vk18vm9mmo8f9.png-38.7kB

2、NSDateComponents获取日期

NSCalendar *calendar = [NSCalendar currentCalendar];
        NSDate *date = [NSDate date];
        //日历集合的结构体
        NSCalendarUnit units = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
        NSDateComponents *comp = [calendar components:units fromDate:date];
        NSLog(@"%@",comp);
        NSLog(@"%zd年%zd月%zd日",comp.year,comp.month,comp.day);
image_1bgvkrt2fbt51tkbha3m4tmnhm.png-46.9kBimage_1bgvkrt2fbt51tkbha3m4tmnhm.png-46.9kB

3 获取前一天或者后一天的日期

最low的方式
  • 使用NSDateFormatter减去日期对应的秒数,不过这样,日期天数很多的时候,秒数就几千几万了,所以推荐使用日历里面的日期集合

高b格方式

        NSCalendar *calendar = [NSCalendar currentCalendar];
        NSDate *date = [NSDate date];
        //日历集合的结构体
        NSCalendarUnit units = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;

        NSDateComponents *components = [[NSDateComponents alloc] init];
        [components setYear:-1];
        [components setMonth:-1];
        NSDate *lastMonth = [calendar dateByAddingComponents:components toDate:date options:kNilOptions];
        components = [calendar components:units fromDate:lastMonth];
        NSLog(@"去年的 上一个月 %@",components);
image_1bgvljn2l18qe1ouf1aeudju37013.png-33.7kBimage_1bgvljn2l18qe1ouf1aeudju37013.png-33.7kB

相关文章

  • NSDate常用

    NSDate常用 标签(空格分隔): 实用编程习惯-coding [TOC] 1、字符串与日期的相互转换 2、NS...

  • iOS开发丨NSDate的常用方法

    NSDate是项目开发中常用的类,用于时间的转换,下面将一些NSDate常用的方法集成在一个类DateConver...

  • 日期常用方法

    常用方法 日期 获取当前日期[NSDate date] 获取当前日期开始,若干秒后的日期[NSDate dateW...

  • iOS-03-NSDate轻描淡写

    最近项目中常常用到关于时间的判断和使用,总结了一下常用到的关于NSDate的基础知识 获取当天日期 NSDate*...

  • NSDate & NSCalendar的基本使用

    NSDate 在iOS的开发过程中,总是要和NSDate打交道,掌握常用方法很有必须要 获取当前时间 获取当前时间...

  • NSDate相关

    NSDate获取当前时间 单独获取 获取较为完整日期的方法 时间戳转换示例 时间戳转换成NSDate 常用打印格式...

  • iOS 日期比较大小

    通常用NSDate对象来存储一个时间(包括日期和时间、时区),而且 NSDate类提供了compare方法来进行时...

  • iOS关于时间转换的几个方法

    1、NSString转NSDate 注意:(1)NSDateFormatter常用的格式有: (2)NSDateF...

  • iOS NSDate 和 NSDateFormatter 的常用

    一、首先介绍下NSDate的常用方法 二、介绍下NSDateFormatter 尽管NSDateFormatter...

  • iOS NSDate常用方法

    //服务器时间 1368082020 时间戳 转NSDate NSDate分类方法 //时间字符串2018-1...

网友评论

      本文标题:NSDate常用

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