[Swift通天遁地]5、高級擴展-(3)日期和時間類型的擴展方法

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-ssjbcoym-ky.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

目錄:[Swift]通天遁地Swiftios

本文將演示日期和時間類型的擴展方法。git

首先確保在項目中已經安裝了所需的第三方庫。github

點擊【Podfile】,查看安裝配置文件。swift

1 platform :ios, ‘12.02 use_frameworks!
3 
4 target 'DemoApp' do
5     source 'https://github.com/CocoaPods/Specs.git'
6     
7     pod 'AFDateHelper', '~> 4.2.2'
8 end

根據配置文件中的相關配置,安裝第三方庫。數組

而後點擊打開【DemoApp.xcworkspace】項目文件。微信

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】ide

如今開始編寫代碼,調用第三方庫對日期和時間的擴展方法。post

  1 import UIKit
  2 //在當前的類文件中,引入已經安裝的第三方類庫
  3 import AFDateHelper
  4 
  5 class ViewController: UIViewController {
  6 
  7     override func viewDidLoad() {
  8         super.viewDidLoad()
  9         // Do any additional setup after loading the view, typically from a nib.
 10         
 11         //將一個字符串初始化爲數組,並指定日期的格式。
 12         var date = Date(fromString: "16 July 1972 6:12:00", format: .custom("dd MMM yyyy HH:mm:ss"))
 13         //在控制檯輸出初始化的日期對象
 14         print(date!.toString())
 15         
 16         //在對日期進行初始化時,第三方類庫提供了五種日期格式。
 17         //用點格式對日期進行格式化。
 18         date = Date(fromString: "/Date(1260123281843)/", format: .dotNet)
 19         //在控制檯輸出初始化的日期對象
 20         print(date?.toString())
 21         
 22         //日期類型的明天方法
 23         print(Date.tomorrow().toString())
 24         //日期類型的昨天方法
 25         print(Date.yesterday().toString())
 26         
 27         let now = Date()
 28         //判斷一個日期,在忽略時間的前提下,是否和另外一個日期相等。
 29         print("now.isSameDay:\(now.compare(.isSameDay(as: date)))")
 30         //判斷是否爲今天
 31         print("date.isToday:\(date.compare(.isToday))")
 32         //判斷是否爲明天
 33         print("date.isTomorrow:\(date.compare(.isTomorrow))")
 34         //判斷是否爲昨天
 35         print("date.isYesterday:\(date.compare(.isYesterday))")
 36         //判斷是否爲同一周
 37         print("date.isSameWeek:\(date.compare(.isSameWeek(as: now)))")
 38         //判斷是否爲同一個月份
 39         print("date.isSameMonth:\(date.compare(.isSameMonth(as: now)))")
 40         //判斷是否爲同一個年份
 41         print("date.isSameYear:\(date.compare(.isSameYear(as: now)))")
 42         //判斷是否在本週
 43         print("date.isYesterday:\(date.compare(.isWeek))")
 44         //判斷是否在下週
 45         print("date.isNextWeek:\(date.compare(.isNextWeek))")
 46         //判斷是否在上週
 47         print("date.isLastWeek:\(date.compare(.isLastWeek))")
 48         //判斷是否在明年
 49         print("date.isNextYear:\(date.compare(.isNextYear))")
 50         //判斷是否在去年
 51         print("date.isLastYear:\(date.compare(.isLastYear))")
 52         
 53         //判斷該日期在日期以後的秒數
 54         print("date.secondsAfterDate:\(date.since(now, in: .second))")
 55         //判斷該日期在日期以前的秒數
 56         print("date.secondsAfterDate:\(now.since(date, in: .second))")
 57         //判斷該日期在日期以後的分鐘數
 58         print("date.minutesAfterDate:\(date.since(now, in: .minute))")
 59         //判斷該日期在日期以前的分鐘數
 60         print("date.minutesAfterDate:\(now.since(date, in: .minute))")
 61         //判斷該日期在日期以後的小時數
 62         print("date.hoursAfterDate:\(date.since(now, in: .hour))")
 63         //判斷該日期在日期以前的小時數
 64         print("date.hoursAfterDate:\(now.since(date, in: .hour))")
 65         //判斷該日期在日期以後的天數
 66         print("date.daysAfterDate:\(date.since(now, in: .day))")
 67         //判斷該日期在日期以前的天數
 68         print("date.daysAfterDate:\(now.since(date, in: .day))")
 69         
 70         //判斷該日期在日期距離最近的小時數
 71         print("date.nearestHour:\(date.dateFor(.nearestHour(hour: 1)))")
 72         //得到該日期的年份
 73         print("date.year:\(String(describing: date.component(.year)))")
 74         //得到該日期的月份
 75         print("date.year:\(String(describing: date.component(.month)))")
 76         //得到該日期的天數
 77         print("date.day:\(String(describing: date.component(.day)))")
 78         //得到該日期的小時數
 79         print("date.hour:\(String(describing: date.component(.hour)))")
 80         //得到該日期的分鐘數
 81         print("date.minute:\(String(describing: date.component(.minute)))")
 82         //得到該日期的秒數
 83         print("date.second:\(String(describing: date.component(.second)))")
 84         //得到該日期的星期數
 85         print("date.weekday:\(String(describing: date.component(.weekday)))")
 86         //得到該日期在一個月中的第幾個星期數
 87         print("date.nthWeekday:\(String(describing: date.component(.nthWeekday)))")
 88         
 89         //得到該日期在一個月中的天數
 90         print("date.firstDayOfWeek:\(date.firstDayOfWeek())")
 91         //得到星期中的第一天
 92         print("date.lastDayOfWeek:\(date.lastDayOfWeek())")
 93         //得到星期中的最後一天
 94         print("date.numberOfDaysInMonth:\(date.numberOfDaysInMonth())")
 95         
 96         //得到日期所在月份的總的天數
 97         print("custom:\(date.toString(format: .custom("dd MMM yyyy HH:mm:ss")))")
 98         //將日期按照自定義的格式轉換爲字符串
 99         print("custom:\(date.toString(format: .isoYearMonth))")
100     }
101 }
相關文章
相關標籤/搜索