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

swift日期操作

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

简介:本文将介绍一些关于swift中对于日期的格式化与获取,支持swift4.0

 1 extension Date {
 2     
 3     //格式化日期
 4     func getDateString() -> String{
 5         let  dateFormater = DateFormatter.init()
 6         //EEEE:星期几
 7         //YYYY:年份
 8         //MM:月份
 9         //dd:几号
10         //HH:小时
11         //mm:分钟
12         //ss:秒
13         //zzz:时区号
14         
15         dateFormater.dateFormat = "EEEE-YYYY-MM-dd HH:mm:ss:zzz"
16         let dateStr = dateFormater.string(from: self)
17         
18         return dateStr
19     }
20     
21     //获取某个日期为星期几
22     func getDateWeekday() ->String{
23         let weekdaysTitleArr = ["周日","周一","周二","周三","周四","周五","周六"]
24         let timeInterval:TimeInterval = self.timeIntervalSince1970
25         let days = Int(timeInterval/86400)
26         let weekday = ((days + 4)%7+7)%7
27         return weekdaysTitleArr[weekday]
28     }
29     
30     //将日期转换为时间戳(10位)
31     func getTimeStamp() -> Int{
32         let timeInterval:TimeInterval = self.timeIntervalSince1970
33         let timeStamp = Int(timeInterval)
34         return timeStamp
35     }
36 }
 1 class Utility: NSObject {
 2 
 3     //根据时间戳获取时间字符串
 4     class func getDateStringFromTimestamp(_ timestamp:Int64) ->String{
 5         let timeInterval:TimeInterval = TimeInterval(timestamp)
 6         let date = Date(timeIntervalSince1970: timeInterval)
 7         return date.getDateString()
 8     }
 9     
10     //根据时间戳获取日期对象
11     class func getDateFromTimestamp(_ timestamp:Int64) ->Date{
12         let timeInterval:TimeInterval = TimeInterval(timestamp)
13         let date = Date(timeIntervalSince1970: timeInterval)
14         return date
15     }
16     
17     //获取两个日期的间隔天数
18     class func getDateInterval(dateA:Date,dateB:Date) ->Int{
19         let interval = dateA.timeIntervalSince(dateB)
20         let days = Int(interval/(24*60*60))
21 //        let hours = Int(interval/(60*60))
22 //        let mins = Int(interval/60)
23         return days
24     }
25 }

最后就是方法的调用与后台的输出

1         let date = Date()
2         print(date.getDateString())
3         print(date.getDateWeekday())
4         print(date.getTimeStamp())
5         
6         let dateA = Utility.getDateFromTimestamp(1507605071)
7         let dateB = Utility.getDateFromTimestamp(1507877163)
8         let days = Utility.getDateInterval(dateA: dateA, dateB: dateB)
9         print(days)    

PS:   http://tool.chinaz.com/Tools/unixtime.aspx   这个网址可以在线转换时间戳


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
[Swift]LeetCode819.最常见的单词|MostCommonWord发布时间:2022-07-13
下一篇:
Swift主题色顶级解决方案发布时间: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