iOS 获取指定日期的N天前或N天后
发布日期:2021-11-15 02:12:00 浏览次数:5 分类:技术文章

本文共 1198 字,大约阅读时间需要 3 分钟。

最常见获取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];

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

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

转载地址:https://blog.csdn.net/qq_28379951/article/details/100163796 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:iOS判断机型是否为iPhone11/iPhone11 Pro/iPhone11 Pro Max
下一篇:ATK-ESP8266使用中遇到的问题小记

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年03月19日 12时07分23秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

mysql计算学生平均分存到另一张表_求MySQL一个表(grade_yqfx)中某值(grade)的平均分(avggrade),并存到mysql另一个表(avggrade)的中... 2019-04-21
python调用nacos账号密码_python-nacos-sdk 2019-04-21
auth java_java – 使用auth的httpget请求 2019-04-21
ggmusic java证书过期_证书过期时的Java trustmanager行为 2019-04-21
mysql 5.0同步_初识 MySQL 5.5 半同步复制 2019-04-21
mysql memcache 配置_windows 下nginx php mysql memcache 的安装与配置(转) 2019-04-21
c++ 输出变量类型_Python变量类型以及格式化输出 2019-04-21
linux nice值_Linux进程调度:完全公平调度器CFS 2019-04-21
mysql_error_trace.inc 后台地址_DedeCMS下data日志mysql_error_trace.inc暴露后台地址 2019-04-21
oracle到 mysql dblink_oracle建dblink去查询mysql 2019-04-21
MySQL安装为什么只有一行_mysql45讲 19.为什么我只查一行的语句,也执行这么慢?... 2019-04-21
python mysql insert 时间_python 对MySQL数据库插入数据,并记录插入数据所需的时间... 2019-04-21
mysql数据库添加不执行输入语句_已经链接到了数据库并且没有报错,但是就是不能用insert into语句进行添加... 2019-04-21
三条mysql语句union连接_Mysql中使用UNION语句进行多表连接查询 2019-04-21
mysql多源复制 错误_MySQL 5.7.9多源复制报错修复 2019-04-21
python 多态 锁_多态 - 廖雪峰的官方网站 2019-04-21
短信java_java实现发送短信 2019-04-21
网上书店系统mysql设计_数据库设计--《网上书店系统》 2019-04-21
能复制python代码的软件_记事本类型程序中的复制/剪切/粘贴功能 2019-04-21
ubuntu java eclipse_怎么样在ubuntu中安装eclipse来开发javaweb 2019-04-21