★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(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.0’ 2 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 }