Date是專門用來處理有關時間的一個類別。
我們可以簡單的透過以下的程式碼來取得當前時間。
let date = Date()
接著透過DateFormatter來進行時間的轉換,因為我們可能會需要將時間轉換成字串,以便顯示,或者進行處理。
///取得當前時間
let date = Date()
///時間轉換成字串
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy/MM/dd"
print(dateFormatter.string(from: date))
我們可以透過網站得知一些時間的格式應該怎麽使用
透過設定dateFormat,來讓Date轉換成你想要的時間格式。
如果轉換出來的結果可能會依照語系的不同,可以經由設定語系來更改
///取得當前時間
let date = Date()
///時間轉換成字串
let dateFormatter = DateFormatter()
///設定語系
dateFormatter.locale = Locale(identifier: "zh_tw")
dateFormatter.dateFormat = "MMMM"
print(dateFormatter.string(from: date))
當然,你也可以透過文字轉換回Date
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "zh_tw")
dateFormatter.dateFormat = "yyyy/MM/dd"
if let myDate = dateFormatter.date(from: "2018/12/21") {
print(myDate)
}
至於日期的增減則可以使用Calendar來處理
let date = Date()
///加三天
let newDate = Calendar.current.date(byAdding: .day, value: 3, to: date)!
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "zh_tw")
dateFormatter.dateFormat = "yyyy/MM/dd"
print(dateFormatter.string(from: newDate))
日期的比較,因為Date有實作Comparable這個Protocol,因此可以很簡單的使用> < = 來進行日期的比較。
let date = Date()
let newDate = Calendar.current.date(byAdding: .day, value: 3, to: date)!
if date < newDate {
print("Date < NewDate")
}
if date > newDate {
print("Date > newDate")
}
if date == newDate {
print("Date == newDate")
}
沒有留言:
張貼留言