在开发DoneList的过程中,关于日期和时间的计算是核心,最关键的就是计算两个时间点之间的时长,以及其在界面的表现方式,另外还有就是保存当天的事项时,以日期作为文件名,如何进行转化。
Swift中的日期和时间模型里,有如下几个主要的类:
- Date:日期时间类型
- Calendar:日历类型,因为各个地区和国家有不同的历法,这里需要指定使用的日期属于哪个历法。
- DateComponent:用于以类似元组的形式,记录一个时间点,例如年月日时分秒
- DateFormatter:通过这个类,可以实现不同形式的时间展示方式,也是在界面展示日期和时间的修饰工具。
//当前时间
let now = Date()
//格式化字符串
let df = DateFormatter()
df.dateFormate = "yyyyMMdd" //年月日
let strDate = df.string(from:now)
//计算两个日期的间距
let datetime1 = Date() //当前时间
let datetime2 = AnotherDate() //伪代码
let userCal = Calendar.current
let timeInterval = userCal.dateComponents([.hour, .minute], from: datetime1, to:datetime2)
print(timeInterval.inSeconds) //以秒的方式展示时长
网友评论