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

 extension Date {

     //格式化日期
func getDateString() -> String{
let dateFormater = DateFormatter.init()
//EEEE:星期几
//YYYY:年份
//MM:月份
//dd:几号
//HH:小时
//mm:分钟
//ss:秒
//zzz:时区号 dateFormater.dateFormat = "EEEE-YYYY-MM-dd HH:mm:ss:zzz"
let dateStr = dateFormater.string(from: self) return dateStr
} //获取某个日期为星期几
func getDateWeekday() ->String{
let weekdaysTitleArr = ["周日","周一","周二","周三","周四","周五","周六"]
let timeInterval:TimeInterval = self.timeIntervalSince1970
let days = Int(timeInterval/)
let weekday = ((days + )%+)%
return weekdaysTitleArr[weekday]
} //将日期转换为时间戳(10位)
func getTimeStamp() -> Int{
let timeInterval:TimeInterval = self.timeIntervalSince1970
let timeStamp = Int(timeInterval)
return timeStamp
}
}
 class Utility: NSObject {

     //根据时间戳获取时间字符串
class func getDateStringFromTimestamp(_ timestamp:Int64) ->String{
let timeInterval:TimeInterval = TimeInterval(timestamp)
let date = Date(timeIntervalSince1970: timeInterval)
return date.getDateString()
} //根据时间戳获取日期对象
class func getDateFromTimestamp(_ timestamp:Int64) ->Date{
let timeInterval:TimeInterval = TimeInterval(timestamp)
let date = Date(timeIntervalSince1970: timeInterval)
return date
} //获取两个日期的间隔天数
class func getDateInterval(dateA:Date,dateB:Date) ->Int{
let interval = dateA.timeIntervalSince(dateB)
let days = Int(interval/(**))
// let hours = Int(interval/(60*60))
// let mins = Int(interval/60)
return days
}
}

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

         let date = Date()
print(date.getDateString())
print(date.getDateWeekday())
print(date.getTimeStamp()) let dateA = Utility.getDateFromTimestamp()
let dateB = Utility.getDateFromTimestamp()
let days = Utility.getDateInterval(dateA: dateA, dateB: dateB)
print(days)

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

swift日期操作的更多相关文章

  1. java 字符串操作和日期操作

    一.字符串操作 创建字符串 String s2 = new String("Hello World"); String s1 = "Hello World"; ...

  2. JAVASE02-Unit03: 日期操作 、 集合框架

    Unit03: 日期操作 . 集合框架 java.util.Date package day03; import java.util.Date; /** * java.util.Date * Date ...

  3. Lua库之时间和日期操作

    Lua库之时间和日期操作 (2010-02-07 18:41:20) 转载▼ os.time() <== 返回当前系统的日历时间os.date() <== 返回本地化的时间字符串,这里是& ...

  4. java日期操作大全

    摘自(http://www.blogjava.net/i369/articles/83483.html) java日期操作 大全 先来一个:  取得指定月份的第一天与取得指定月份的最后一天  http ...

  5. oracle日期操作

    日期操作:ADD_MONTHS(date,i) 作用 返回在自定日期上添加的月份 i是整数 如果i是小数,则截取整数部分 i是负数 原有日期减去相应部分 例子: SQL> select add_ ...

  6. NSDate 总结日期操作

    IOS Object-c NSDate总结日期操作 //NSDate //1, 创建NSDate对象 NSDate *nowDate = [NSDate date]; NSLog(@"%@& ...

  7. js中时间戳与日期转换-js日期操作

    常用的一些日期操作. 用js获取一个时间戳. <script type="text/javascript"> var date = new Date();//当前时间 ...

  8. Java中的日期操作

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...

  9. js日期操作

    1.最基本的日期操作 var mydate = new Date(); set/get   FullYear,Month,Date,Hour,Minutes,Second可以随意拼接 toLocale ...

随机推荐

  1. win7-64bit下基于VMware12.5安装rhel-server-6.3-i386

    /************************************************************************************* 宿主PC:win7-64b ...

  2. Day1[下] - Python基础1 基本语法、流程控制

    一.变量\字符编码 Variables are used to store information to be referenced and manipulated in a computer pro ...

  3. angularJS contenteditable 指令双向绑定

    项目遇到需求有点奇葩:双击div使其可编辑,失去焦点后进行数据绑定 通过自定义指令完成 好了上代码: .directive('contentEditable', function() { return ...

  4. multimap容器和multiset容器中的find操作

    前言 multimap容器是map容器的“ 增强版 ”,它允许一个键对应多个值.对于map容器来说,find函数将会返回第一个键值匹配元素所在处的迭代器.那么对于multimap容器来说,find函数 ...

  5. redis的主从复制和哨兵支持的主从切换

    1 主从复制的目的是为了读写分离 master写,然后同步到slave,slave只管读. 2 哨兵存在的目的 是为了主从切换,如果master挂了,那么一个slave成为master,重启之后的ma ...

  6. ElasticSearch(一)什么是全文检索?

    全文检索 全文检索,即倒排索引.

  7. Delphi里可将纯虚类实例化,还可调用非虚函数

    这是与Java/C++的巨大不同.目前还没仔细想这个特征与TClass之间的联系,先记住结论再说.以后再回来修改这个帖子. unit Unit1; interface uses Windows, Me ...

  8. Oracle rac 配置Weblogic数据源时 实例名及URL的选择

    Oracle 10G 是 RAC 的,即有两个节点.两个节点 IP及实例名分别为:10.1.43.11 stnic110.1.43.21 stnic2配置数据源时 一直使用的是第一个 URL 及 实例 ...

  9. hibernate属性配置

    数据库中一个字段的默认值设为0,当用hibernate插入数据时,没有对该字段进行操作,结果该字段居然不是0,而是空.后来google了一下,发现应该在.hbm.xml文件中添加一些参数定义(示例中的 ...

  10. LwIP移植uCos+stm32f407

    LwIP同操作系统一起工作的时候模型如下: 1.TCP/IP协议栈和应用程序以分离的任务运行 2.应用同协议栈沟通是通过API函数调用(API函数调用事实上就是通过OS自带的进程间通信机制,由应用程序 ...