1,格式化成字符串比较
下面方法将两个日期格式化成只包含年月日的字符串,再比较两个字符串是否相等。
|
1
2
3
4
5
6
7
8
9
10
|
//初始化日期格式器let dformatter
= DateFormatter()dformatter.dateFormat
= "yyyyMMdd"//开始比较if dformatter.string(from:
date1) == dformatter.string(from: date2) { print("它们是同一天")}else { print("它们不是同一天")} |
2,取出日期的年、月、日部分,分别进行比较
|
1
2
3
4
5
6
7
8
9
10
|
let calendar
= Calendar.currentlet comp1
= calendar.dateComponents([.year,.month,.day], from: date1)let comp2
= calendar.dateComponents([.year,.month,.day], from: date2)//开始比较if comp1.year
== comp2.year && comp1.month == comp2.month && comp1.day == comp2.day { print("它们是同一天")}else { print("它们不是同一天")} |
3,使用Calendar的isDate方法进行判断(推荐)
这个是 Swift3 新增的方法,使用方便,效率也最高。|
1
2
3
4
5
|
if Calendar.current.isDate(date1,
inSameDayAs: date2) { print("它们是同一天")}else { print("它们不是同一天")} |

本文介绍了三种在Swift中比较两个日期是否为同一天的方法:通过格式化为字符串并比较;提取年月日分别比较;使用Calendar的isDate方法。推荐使用最后一种方法,因为它简洁且高效。
&spm=1001.2101.3001.5002&articleId=53405379&d=1&t=3&u=b16ac2e7073945288622b8b5bfc1c499)
2989

被折叠的 条评论
为什么被折叠?



