在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文将为你演示日期类型的使用,以及如何对日期进行格式化。
首先引入需要使用到的界面框架 import UIKit 初始化一个日期对象,它的值和当前电脑中的日期相同 var date = Date()
获得当前60分钟之后的时间 date.addTimeInterval(60 * 60) 获得当前60分钟之后的时间,并存储在一个常量之中。 let sencondDate = date.addTimeInterval(60 * 60) 对两个时间进行比较,当时间小于进行比较的时间时,返回值为-1。 date.compare(date.addTimeInterval(60 * 60)).rawValue 当两个时间相等时,返回的原始值为0 date.compare(date.addTimeInterval(0)).rawValue
当时间大于进行比较的时间时,返回的原始值为1 date.compare(date.addTimeInterval(-60 * 60)).rawValue 获得当前时间的字符串形式 date.description 获得两个时间之间的差值,单位为秒。 date.timeIntervalSince(secondDate) 获得从1970年1月1日0点开始,经过多少秒可以到达指定的时间 date.timeIntervalSince1970 获得指定日期和当前时间之间的差值 date.timeIntervalSinceNow 接着我们将对日期进行格式化,首先初始化一个日期格式化类的实例 let dtFormatter = DateFormatter() 设置日期格式化对象的本地属性 dtFormatter.locale = Locale.current 设置日期的格式为全格式,即包含年、月、日星期等各种信息 dtFormatter.dateStyle = DateFormatter.Style.full 对日期进行格式化,然后点击显示结果图标,查看日期格式化后的结果。 dtFormatter.string(from: date) 查看日期格式化后日期样式,然后再次点击结果图标,隐藏该结果。 使用长类型对日期进行格式化,然后点击显示结果图标,查看日期格式化后的结果。 1 dtFormatter.dateStyley = DateFormatter.Style.long 2 dtFormatter.string(from: date) 查看日期格式化后日期样式,然后再次点击结果图标,隐藏该结果。 接着继续联系其他的日期格式化样式。 1 dtFormatter.dateStyley = DateFormatter.Style.medium 2 dtFormatter.string(from: date) 使用短样式对日期进行格式化,并查看右侧输出的结果。 1 dtFormatter.dateStyley = DateFormatter.Style.short 2 dtFormatter.string(from: date) 使用自定义的日期样式,对日期进行格式化,并观察右侧输出的结果。 1 dtFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss" 2 dtFormatter.string(from: date) 将小写的h修改为大写的H,之后再次对日期进行格式化,并观察右侧输出的结果, 1 dtFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" 2 dtFormatter.string(from: date) 使用自定义的日期样式,对日期进行格式化,只显示日期的年、月、日信息。 1 dtFormatter.dateFormat = "yyyy-MM-dd" 2 dtFormatter.string(from: date) 使用自定义的日期样式,对日期进行格式化,注意只使用一个M表示月份, 1 dtFormatter.dateFormat = "yyyy-M-dd" 2 dtFormatter.string(from: date) 我们同样可以将字符串转换为日期,首先定义一个包含日期信息的字符串。 let dateString = "2018-10-10 12:00:00" 设置日期格式化对象的日期和时间格式。 dtFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" 然后通过日期格式化对象,将字符串转换为日期对象, let newDate = dtFormatter.date(from: dateString)
如果需要比较两个日期的先后,可以先获得两个日期和固定参考日期的距离, (newDate?.timeIntervalSinceReferenceDate) !> date.timeIntervalSinceReferenceDate 技巧:如果您需要注册公司版的苹果开发账号,请尽早申请邓白氏码,这个申请比较花费时间。 |
请发表评论