NSDate iOS 日期

本文详细介绍了NSDate对象的多种创建方法,包括直接创建、基于当前时间间隔、指定日期间隔等,并讲解了日期格式化、时间比较及时间差计算等功能。
1.NSDate对象用来表示一个具体的时间点。
2.NSDate存储的是GMT时间,使用的时候会根据 当前应用 指定的 时区 进行时间上的增减,以供计算或显示
(1) 日期的创建
+ (instancetype)date;
NSDate *nowDate = [NSDate date];
如上直接创建nowDate ,其现实的是0时区,也就是格林威治时间,如果要显示北京时间,需要进行转换
[nowDate descriptionWithLocale:[NSLocale currentLocale]]; //北京时间
(2)利用与当前时间的间隔来进行时间的创建
+ (instancetype)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;
NSDate *date1 = [NSDate dateWithTimeIntervalSinceNow:+60*60*24*30];
其中加号表示时间往前也就是未来时间点 第一个60是表示的秒 第二个时间是分钟 第三个时间是小时 第四个时间是天数 date1表示的时间是距今未来的第30天
其中的加号也可以换成减号,来表示过去的时间。
(3)利用与指定的时间的间隔来创建日期
+ (instancetype)dateWithTimeInterval:(NSTimeInterval)secsToBeAdded sinceDate:(NSDate *)date;
NSDate *date2 = [NSDate dateWithTimeInterval:+60*3 sinceDate:date1];
date2 的时间 距 date1的时间又 3 分钟
(4)利用与2001年的时间间隔来创建日期
+ (instancetype)dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)ti;
NSDate *date3 = [NSDate dateWithTimeIntervalSinceReferenceDate: +0 ];
date3 表示的是与 2001年1月1日0点0分0秒 的时间间隔为 0 。
(5)利用与1970年的时间间隔来创建时间
+ (instancetype)dateWithTimeIntervalSince1970:(NSTimeInterval)secs;
NSDate *date4 = [NSDate dateWithTimeIntervalSince1970:+60];
(6)未来的某一天
+ (NSDate *)distantFuture;
NSLog(@'%@',[NSDate distantFuture]);
输出的一直是4001年1月1日
(7)过去的某一天
+ (NSDate *)distantPast;
NSLog(@'%@',[NSDate distantPast]);
输出的一直是0000年12月30日
(8)日期格式化
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@'yyyy-MM-dd HH:mm:ss '];
NSString *dateStr = [formatter stringFromDate:nowDate];
将日期转换为字符串格式,便于操作。
其中 yyyy表示年份 MM表示月份 dd表示日期 HH表示小时 mm表示分钟 ss表示秒
还可以将日期格式的字符串还原成日期
NSDate *dates = [formatter dateFromString:dateStr];
(9)时间比较
NSComparisonResult result =[date1 compare:date2];
if(result ==NSOrderedDescending)
{
NSLog(@'date1 时间晚');
}else if(result == NSOrderedAscending)
{
NSLog(@'date2 时间晚');
}else
{
NSLog(@'date1 date2 时间相等');
}
(10)计算时间差
double dateDifference = [date1 timeIntervalSinceNow];
date1 与现在时间相差多少秒
(11)两时间比较
NSLog(@'%@',[date1 laterDate:date2]);
得到较晚的时间,返回的事NSDate类型
NSLog(@'%@',[date1 earlierDate:date2]);
得到较早的时间,返回的事NSDate类型
(12)判断两个日期是否相等
BOOL isEqual = [date2 isEqualToDate:date2];
源码地址: https://pan.quark.cn/s/d1f41682e390 miyoubiAuto 米游社每日米游币自动化Python脚本(务必使用Python3) 8更新:更换cookie的获取地址 注意:禁止在B站、贴吧、或各大论坛大肆传播! 作者已退游,项目不维护了。 如果有能力的可以pr修复。 小引一波 推荐关注几个非常可爱有趣的女孩! 欢迎B站搜索: @嘉然今天吃什么 @向晚大魔王 @乃琳Queen @贝拉kira 第三方库 食用方法 下载源码 在Global.py中设置米游社Cookie 运行myb.py 本地第一次运行时会自动生产一个文件储存cookie,请勿删除 当前仅支持单个账号! 获取Cookie方法 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 按刷新页面,按下图复制 Cookie: How to get mys cookie 当触发时,可尝试按关闭,然后再次刷新页面,最后复制 Cookie。 也可以使用另一种方法: 复制代码 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 控制台粘贴代码并运行,获得类似的输出信息 部分即为所需复制的 Cookie,点击确定复制 部署方法--腾讯云函数版(推荐! ) 下载项目源码和压缩包 进入项目文件夹打开命令行执行以下命令 xxxxxxx为通过上面方式或取得米游社cookie 一定要用双引号包裹!! 例如: png 复制返回内容(包括括号) 例如: QQ截图20210505031552.png 登录腾讯云函数官网 选择函数服务-新建-自定义创建 函数名称随意-地区随意-运行环境Python3....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值