Skip to content

Instantly share code, notes, and snippets.

@m1kah
Created July 10, 2017 04:52
Show Gist options
  • Save m1kah/5ec8f34fe8158f37b34972947dcb1b89 to your computer and use it in GitHub Desktop.
Save m1kah/5ec8f34fe8158f37b34972947dcb1b89 to your computer and use it in GitHub Desktop.
Swift current week, start of year, week range in this year
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