Created
July 10, 2017 04:52
-
-
Save m1kah/5ec8f34fe8158f37b34972947dcb1b89 to your computer and use it in GitHub Desktop.
Swift current week, start of year, week range in this year
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Foundation | |
class DateUtil { | |
private init() { | |
} | |
static func currentWeek() -> Int { | |
let calendar = NSCalendar.current | |
let dateComponent = calendar.component(Calendar.Component.weekOfYear, from: Date()) | |
return dateComponent | |
} | |
static func startOfYear() -> Date { | |
let now = Date() | |
let cal = Calendar(identifier: .iso8601) | |
var components = cal.dateComponents([.year], from: now) | |
components.weekday = cal.firstWeekday | |
components.weekOfYear = 1 | |
return cal.date(from: components)! | |
} | |
static func weekRangeInThisYear() -> Range<Int> { | |
let cal = Calendar(identifier: .iso8601) | |
let startOfYear = self.startOfYear() | |
return cal.range(of: .weekOfYear, in: .yearForWeekOfYear, for: startOfYear)! | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment