首页 > 代码库 > Swift 3.0 Date的简单使用

Swift 3.0 Date的简单使用

////  ViewController.swift//  Date的使用////  Created by 思 彭 on 16/9/20.//  Copyright © 2016年 思 彭. All rights reserved.//import UIKitclass ViewController: UIViewController {    override func viewDidLoad() {        super.viewDidLoad()            /// 1.获得当前的日期和时间: currnetDate = 2016-09-20 02:22:22 +0000        let currentDate = Date()        print("currnetDate = \(currentDate)")                // 2.初始化DateFormatter类        let dateFormatter = DateFormatter()        dateFormatter.locale = Locale.current()                // 3.date转string :带样式输出日期:  dateString =        dateFormatter.dateStyle = DateFormatter.Style.noStyle        let dateString = dateFormatter.string(from: currentDate)        print("dateString = \(dateString)")                // date1String = 9/20/16        dateFormatter.dateStyle = DateFormatter.Style.shortStyle        let date1String = dateFormatter.string(from: currentDate)        print("date1String = \(date1String)")                // date2String = Tuesday, September 20, 2016        dateFormatter.dateStyle = DateFormatter.Style.fullStyle        let date2String = dateFormatter.string(from: currentDate)        print("date2String = \(date2String)")        // date3String = September 20, 2016        dateFormatter.dateStyle = DateFormatter.Style.longStyle        let date3String = dateFormatter.string(from: currentDate)        print("date3String = \(date3String)")        // date4String = Sep 20, 2016        dateFormatter.dateStyle = DateFormatter.Style.mediumStyle        let date4String = dateFormatter.string(from: currentDate)        print("date4String = \(date4String)")                // 4.自定义输出格式  date5Str = Tuesday, September, 20, 2016        dateFormatter.dateFormat = "EEEE, MMMM, dd, yyyy"        let date5Str = dateFormatter.string(from: currentDate)        print("date5Str = \(date5Str)")                // 5. string转date  date = Optional(2016-12-02 10:15:59 +0000)        let str = "2016-12-02 18:15:59"        dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"        let date = dateFormatter.date(from: str)        print("date = \(date!)")// 加上!  输出: date = 2016-12-02 10:15:59 +0000                // 6.DateCopmonents的使用        // era:1 year:2016 month:9 day: 20 hour:10 minute:53 second:  0        let currentCalendar = Calendar.current()        let dateComponents = currentCalendar.components([Calendar.Unit.era,Calendar.Unit.year,Calendar.Unit.month,Calendar.Unit.day,Calendar.Unit.hour,Calendar.Unit.second,Calendar.Unit.minute], from: currentDate)        print("era:\(dateComponents.era!) year:\(dateComponents.year!) month:\(dateComponents.month!) day: \(dateComponents.day!) hour:\(dateComponents.hour!) minute:\(dateComponents.minute!) second:  \(dateComponents.second!)")                // 7.DateComponents -> Date        // compents = 2016-09-19 16:00:00 +0000        var componrnts = DateComponents()        componrnts.year = 2016        componrnts.month = 09        componrnts.day = 20        let compents = currentCalendar.date(from: componrnts)        print("compents = \(compents!)");                // 8.比较日期和时间        dateFormatter.dateFormat = "MMM dd, yyyy zzz"        let str1 = "May 08, 2016 GMT"        let date1 = dateFormatter.date(from: str1)        let str2 = "May 10, 2016 GMT"        let date2 = dateFormatter.date(from: str2)                // date1:Optional(2016-05-08 00:00:00 +0000)----date2:Optional(2016-05-10 00:00:00 +0000)        print("date1:\(date1)----date2:\(date2)")                // 2016-05-08 00:00:00 +0000    2016-05-10 00:00:00 +0000        print((date1! as NSDate).earlierDate(date2!));  //日期更早的NSDate对象        print((date1! as NSDate).laterDate(date2!));  //日期更晚的NSDate对象        if date1?.timeIntervalSinceReferenceDate > date2?.timeIntervalSinceReferenceDate {            print("date1 is later")        } else if date1?.timeIntervalSinceReferenceDate < date2?.timeIntervalSinceReferenceDate {            print("date2 is later")        } else if date1?.timeIntervalSinceReferenceDate == date2?.timeIntervalSinceReferenceDate {            print("Same Date")        }                // 9. 日期的计算        let monthsToAdd = 2        let daysToAdd = 5                var calculatedDate = currentCalendar.date(byAdding: Calendar.Unit.month, value: monthsToAdd, to:   currentDate, options: Calendar.Options.init(rawValue: 0))        calculatedDate = currentCalendar.date(byAdding: Calendar.Unit.day, value: daysToAdd, to:   calculatedDate!, options: Calendar.Options.init(rawValue: 0))        print(calculatedDate) // Optional(2016-10-24 08:33:41 +0000)    }        }

 

Swift 3.0 Date的简单使用