睿智的日期扩展
为了找到两个日期之间的时间间隔,需要调用 如果想写一个返回多计量单位的方法来描述两个日前间的间隔时间,无论天数、分钟数、秒数还是年份,应该怎么做呢? 或者你可以直接编写一个非常复杂的 这是用来计算时间差值的函数,它可以使用下标写法来访问对应的成员信息: static public func distance(_ date1: Date,to date2: Date,component: Calendar.Component) -> Int { return Date.sharedCalendar .dateComponents([component],from: date1,to: date2)[component] ?? 0 } public func distance(to date: Date,from: self,to: date)[component] ?? 0 } 这种下标的写法实现以及 我通过日期创建一个泛型,并对比泛型的版本,从而解决 “时间重合” 问题(例如,同一天或者同一周)。对于日期来说,午夜 12 时为一天的开始。对于一周来说,午夜 12 时作为一周的开始。(update: Sebastian Celis 指出 并且我也添加了很多字符串格式化的选项,以友好 Swift 的开发者。( playgound 不支持 GYB 引擎,造成了很多代码冗余。) 现在所有的日期偏移更加清晰,并且时间类下标扩展已经支持(这个功能本应支持)。 一如既往,如果你有任何的需求以及改动提议,可以在下方评论我。我关注的方向主要是对于 Swift 的迁移问题,而不在日期类本身。提前感谢所有人的反馈。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |