您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關IOS小組件如何實現時鐘按秒刷新功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
let components = DateComponents(minute: 11, second: 14) let futureDate = Calendar.current.date(byAdding: components, to: Date())! Text(futureDate, style: .relative) // Displays: // 11 min, 14 sec Text(futureDate, style: .offset) // Displays: // -11 minutes
??使用relative樣式可以顯示當前日期和時間與指定日期之間的差值(絕對值),而不管該日期是將來的還是過去的日期。使用offset樣式顯示當前日期和時間與指定日期之間的時差,表示將來的日期帶有減號(-)前綴,而過去的日期帶有加號(+)前綴。
let components = DateComponents(minute: 15) let futureDate = Calendar.current.date(byAdding: components, to: Date())! Text(futureDate, style: .timer) // Displays: // 15:00
??對于將來的日期,timer樣式將遞減計數(倒計時),直到當前時間達到指定的日期和時間為止,并在日期經過時遞增計數(計時器)。
// Absolute Date or Time let components = DateComponents(year: 2020, month: 4, day: 1, hour: 9, minute: 41) let aprilFirstDate = Calendar.current(components)! Text(aprilFirstDate, style: .date) Text("Date: \(aprilFirstDate, style: .date)") Text("Time: \(aprilFirstDate, style: .time)") // Displays: // April 1, 2020 // Date: April 1, 2020 // Time: 9:41AM
let startComponents = DateComponents(hour: 9, minute: 30) let startDate = Calendar.current.date(from: startComponents)! let endComponents = DateComponents(hour: 14, minute: 45) let endDate = Calendar.current.date(from: endComponents)! Text(startDate ... endDate) Text("The meeting will take place: \(startDate ... endDate)") // Displays: // 9:30AM-2:45PM // The meeting will take place: 9:30AM-2:45PM
??使用 style: .time樣式,如果當前的時間比指定的時間大,則時間就會累計。基于這個原理,我們只需要把時間起點定在每天的0點即可,根據當前的時間計算出今天的開始時間。以下方法可以根據12,24小時制度,獲取當天起點時間。
//獲取當天開始的日期,給Date增加一個拓展方法 extension Date { func getCurrentDayStart(_ isDayOf24Hours: Bool)-> Date { let calendar:Calendar = Calendar.current; let year = calendar.component(.year, from: self); let month = calendar.component(.month, from: self); let day = calendar.component(.day, from: self); let components = DateComponents(year: year, month: month, day: day, hour: 0, minute: 0, second: 0) return Calendar.current.date(from: components)! } } // 實現一天內的計時器 Text(Date().getCurrentDayStart(true), style: .timer)
關于“IOS小組件如何實現時鐘按秒刷新功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。