简介:本文将介绍一些关于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. VCC/AVCC/VDD/AVDD区别

    V*与AV*的区别是:数字与模拟的区别CC与DD的区别是:供电电压与工作电压的区别(通常VCC>VDD): 数字电路供电VCC 模拟电路供电AVCCVDD是指工作电压,就是供电进芯片的 AVDD ...

  2. kubernetes-handbook 阅读笔记

    文档地址 https://jimmysong.io/kubernetes-handbook/concepts/ Pod是在Kubernetes集群中运行部署应用或服务的最小单元,它是可以支持多容器的. ...

  3. cocos2d-js 运行动画

    1.添加动画缓存 //添加动画缓存 cc.spriteFrameCache.addSpriteFrames(res.bug_plist); this.spriteSheet = new cc.Spri ...

  4. VCL里的构造函数

    好奇,为什么Create函数明明是个构造函数,还要带上override;这是C++里没有的事情.我虽然也明白其大致的作用和目的,但还是没有见到官方和权威的说法.如果哪位大大见到此文,还望给一个详细一点 ...

  5. Nodejs下如何判断文件夹的存在以及删除文件夹下所有的文件

    代码如下: var folder_exists = fs.existsSync('./cache'); if(folder_exists == true) { var dirList = fs.rea ...

  6. android通过DialogFragment实现时间选择

    在android开发中,时间控件是不可或缺的一部分,特别是在设置个人生日或按时间进行搜索时都要用到.Android有内置的DatePicker和timePicker,使用起来也是相当的方便,既可以在布 ...

  7. oracle rac常用的网络检查命令

    oracle的集群管理软件和数据库对私网依赖性很大,很多集群问题最后都可以归结到网络层面. 当集群出现问题时检查网络信息是必要的. 1.查看MTU的大小,确认所有节点的公网和私网网卡的MTU大小相同 ...

  8. powerbuilder

    PowerBuilder美国Sybase公司研制的一种新型.快速开发工具,是客户机/服务器结构下,基于Windows3.x.Windows95和WindowsNT的一个集成化开发工具.它包含一个直观的 ...

  9. LoadRunner中两种录制模式的区别

    决定我们成为什么样人的,不是我们的能力,而是我们的选择. ——<哈利-波特与密室> 一.先看看两种模式的设置和录制脚本的区别 设置HTML录制模式: 设置URL录制模式: HTML脚本: ...

  10. bzoj3669【NOI2014】魔法森林

    题面一道最短路好题…… 开始和喻队长讨论了一下,喻队长一眼切:枚举ai的上界MAX,每次把ai小于等于MAX的边加到图里,以bi为边权跑最短路. 但是,这样做是O(ai*m)的,妥妥TLE,于是我们想 ...