iOS 获取指定日期的N天前或N天后_终有丶的博客-程序员宅基地

技术标签: N天前后  时间  计算日期  iOS的漫长路途  

最常见获取N天前后的日期的方法是:
//获取N天后日期
+ (NSDate *)getDate:(NSDate *)currentDate day:(NSInteger)day {
    NSInteger days = day;    // n天后的天数
    days = (days == 0 ? 2.f : days);//未指定天数则默认为两天
    NSDate *appointDate;    // 指定日期声明
    NSTimeInterval oneDay = 24 * 60 * 60;  // 一天一共有多少秒
    appointDate = [currentDate initWithTimeIntervalSinceNow: +(oneDay * days)];
    return appointDate;
}
    
而获取N天前的日期
//改为负的天数即可
    appointDate = [currentDate initWithTimeIntervalSinceNow: -(oneDay * days)];

大都是这样的方法,该方法也确实能计算出距离《当前》时间的N天前或N天后的时间;但是在最近使用时,发现这样计算却无法算出《指定日期》的N天前/后时间,为此还试了很多次,却都没有计算出…

感觉 initWithTimeIntervalSinceNow 方法始终是用《当前》时间来计算N天前/后的时间;即使传入一个《指定时间》也不会根据《指定时间》来计算;后来换了一个方法才解决 (或许也不是不可能计算,也可能是因为传入日期的时间格式有误,而导致计算失败) 因为耽搁了不少时间,后面换了方法才解决,方法如下:

如果想获取 指定日期的N天前或者N天后,可以使用下面方法:
+ (NSDate *)getDate:(NSDate *)currentDate day:(NSInteger)day {
    NSTimeInterval days = 24 * 60 * 60 * day;  // 一天一共有多少秒
    NSDate *appointDate = [currentDate dateByAddingTimeInterval:days];
    return appointDate;
}
上面是获取 N 天的日期,要想获取 N 天前将 days 前加负号即可
    NSDate *appointDate = [currentDate dateByAddingTimeInterval: - days];

但愿没有人遇到这样的问题;

-------------------------------------------------- 下班了 -------------------------------------------------------

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_28379951/article/details/100163796

智能推荐

TensorFlow学习之LSTM ---语言模型(PTB数据集的处理)_CharlesWu123的博客-程序员宅基地_ptb数据集大小

语言模型的任务就是预测每个句子在语言中出现的概率。一、 评价方法语言模型效果好坏的常用评价指标时复杂度(perplexity)。在一个测试集上得到的perplexity越低,说明建模的效果越好。计算perplexity值的公式如下:perplecity(S)=p(w1,w2,w3,...wm)=1p(w1,w2,w3,...wm)m=∏1p(wi∣w1,w3,...wi−1)mperplec...

FTP文件传输协议两种模式-主动模式和被动模式_believe209的博客-程序员宅基地_用ftp进行文件传输时,有两种模式

TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、联接的方式、甚至是是否使用相同的操作系统无关。假设两台计算机通过ftp协议对话,并且能访问Internet, 你可以用ftp命令来传输文件。每种操作系统使用上有某一些细微差别,但是每种协议基本的命令结构是相同的。   

QT从入门到实战x篇_17_QListWidget控件(List Widget列表是基于item的输出显示;可以实现单行或者多行内容的输出显示)_十月旧城的博客-程序员宅基地_qt listwidget

上篇:QT从入门到实战x篇_16_控件-按钮组(PushButton;ToolButton;RadioButton;CheckBox等按钮组控件的基础使用方法)介绍了按钮组的使用方法,接下来将会介绍几个比较重要的控件,本篇主要介绍List Widget。总结:Item Views( Model-Based):是基于一些模型的,基于数据库的输出,是按照数据库的模型将数据显示。Item Widgets(Item-Based ) :是基于一些item输出List Widget列表:(1)ui->

Java容器深度总结:HashMap_白日梦想家 的博客-程序员宅基地

向外探寻,向内思考, 向下扎根,向阳生长。内容1.HashMap概述2.HashMap基础3.HashMap的定义4.主要类属性4.1 transient Node1.HashMap概述HashMap是根据关键码值(Key-Value)而直接进行访问的数据结构。并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap线程不安全。HashMap是JDK1.2时哈希表的实现,JDK1.8底层是使用数组+链表+红黑树实现,JDK1.7使用数组+链表实现,Has.

Shiro整合Springboot缓存之Redis实现_mry6的博客-程序员宅基地

Shiro整合Springboot缓存之Redis实现Redis 下载安装引入redis依赖配置redis连接启动redis服务自定义redis缓存的实现自定义shiro缓存管理器自定义salt实现 实现序列化接口自定义Realm改造开启redis缓存Redis 下载安装Windows系统中Redis 下载安装其它的代码实现可以参考:Springboot整合Shiro引入redis依赖<!--redis整合springboot--><dependency> &lt

Spring Boot自动配置注解@EnableAutoConfiguration解密_zero__007的博客-程序员宅基地

  Spring boot为了自动配置,增加了注解@EnableAutoConfiguration。一般只需要配置@SpringBootApplication即可,为什么呢?@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@[email protected]@SpringBootConfiguration...

随便推点

bazel 出现no such package '@org_tensorflow//tensorflow' 错误_CongyingWang的博客-程序员宅基地_org_tensorflow

问题在执行 bazel tensorflow serving 的时候出现下面的错误ERROR: error loading package ‘’: in /home/wangcongying/tools/serving/tensorflow_serving/workspace.bzl: Encountered error while reading extension file ‘tens...

子父级关系数据转为 树状关系数据_毛毛小尾巴的博客-程序员宅基地_单表有子级和父级关系如何查询为树结构

https://blog.csdn.net/cenguocheng/article/details/81194244理解:按照树状图的方式0级,可以当成树干。1级,从树干上分出来的树枝,假如说没有“childMenus"就是这个树枝是光秃秃的; 如果有“childMenus"就是这个树枝上又分出来了小树枝,此时可以理解为2级。然后一直这样的反复反复。当然需要一个判断条件去检索...

pythonic_6种Pythonic位操作配方_weixin_26737625的博客-程序员宅基地

pythonicSome reusable python recipes for manipulating bits to perform fast arithmetic. 一些可重用的python配方,用于处理位以执行快速算术。 1.使用位操作将整数加倍 (1. Double an Integer Using Bit Manipulation)Use the << operat...

项目二—国外information_weixin_30216561的博客-程序员宅基地

1 @charset "utf-8"; 2 /*=========================Reset_start==========================*/ 3 body,h1,h2,h3,h4,h5,h6,div,p,dl,dt,dd,ol,ul,li,form,table,th,td,a,img,span,strong,var,em,input,texta...

java中Collections.sort() 排序函数的用法_djun0426的博客-程序员宅基地

用Collections.sort方法对list排序有两种方法第一种是list中的对象实现Comparable接口,如下:/***根据order对User排序*/publicclassUserimplementsComparable<User>{privateStringname;privateIntegerorder;publi...

django中使用mongoengine保存字典结构的数据到数据库。_摸鱼攻城狮的博客-程序员宅基地_django 字典存数据库

在django项目中,我是用mongoengine来集成mongodb数据库。创建好模型。class A(Document): name = StringField(max_length=30, required=True)一般的插入数据操作是这样的:cate = A(name="xiaoming") cate.save() # 保存到数据库但是我要入库的内容是通

推荐文章

热门文章

相关标签