zoukankan      html  css  js  c++  java
  • swift日期操作

    简介:本文将介绍一些关于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   这个网址可以在线转换时间戳

  • 相关阅读:
    ruby 二进制转十进制 Integer("0b101") = 5
    开始菜单和我的文档的我的图片及我的音乐变成 my pictrues 正常图标了
    ruby watir 莫名其妙的错误
    Excel SaveAS是去掉提示框
    apache && jboss安装
    ruby require include的区别
    ruby控制鼠标
    This error is raised because the column 'type' is reserved for storing the class in case of inheritance
    用正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
    ASP.NET 如何动态修改 Header 属性如添加 Meta 标签 keywords description!
  • 原文地址:https://www.cnblogs.com/1016882435AIDA/p/dateTool.html
Copyright © 2011-2022 走看看