• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[Swift实际操作]七、常见概念-(6)日期Date和DateFormatter日期的格式化 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

本文将为你演示日期类型的使用,以及如何对日期进行格式化。

 

首先引入需要使用到的界面框架

import UIKit

初始化一个日期对象,它的值和当前电脑中的日期相同

var date = Date()

获得当前60分钟之后的时间

date.addTimeInterval(60 * 60)

获得当前60分钟之后的时间,并存储在一个常量之中。

let sencondDate = date.addTimeInterval(60 * 60)

对两个时间进行比较,当时间小于进行比较的时间时,返回值为-1。
比较的结果为枚举类型,和字符串的比较相同,
枚举成员的值包含:-1、0和1。
rawValue:原始值

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)

使用自定义的日期样式,对日期进行格式化,并观察右侧输出的结果。
注意小时数为12小时进制。

1 dtFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
2 dtFormatter.string(from: date)

将小写的h修改为大写的H,之后再次对日期进行格式化,并观察右侧输出的结果,
此时显示为24小时进制

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表示月份,
此时的月份将使用简化的样式,不会对小于10的数字进行补0

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

技巧:如果您需要注册公司版的苹果开发账号,请尽早申请邓白氏码,这个申请比较花费时间。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Swift]LeetCode853.车队|CarFleet发布时间:2022-07-13
下一篇:
[Swift]LeetCode186.翻转字符串中的单词II$ReverseWordsinaStringII发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap