Swift dates, more fun. Heavily inspired by ObjectiveSugar
Punctual is available through CocoaPods!
Just add this line
pod 'Punctual'
to your Podfile
Punctual
extends Int
, NSDateComponents
, NSDate
, and NSCalendarUnit
, and adds features to make them work well together. It uses the robust NSCalendar
APIs, so you can be sure it's accurate!
println(1.day.ago)
// Optional(2015-04-08 04:49:30 +0000)
println(10.days.until(NSDate()))
// Optional(2015-03-30 04:11:03 +0000)
println((1.day + 2.months - 9.years).ago)
// Optional(2024-02-08 18:28:26 +0000)
println(NSDate() - 1.day.ago!)
/* <NSDateComponents: 0x7fbbaad949d0>
Era: 0
Calendar Year: 0
Month: 0
Day: 0
Hour: 23
Minute: 59
Second: 59
Nanosecond: 999999023
Quarter: 0
Year for Week of Year: 0
Week of Year: 0
Week of Month: 0
Weekday: 0
Weekday Ordinal: 0 */
println(1.year.timeInterval)
// Optional(31622400.0)
println((NSDate() + 30.minutes)!.nearestHour)
// 1
println(4.years.fromNow?.longTimeString)
// Optional("12:11:44 AM EDT")
println(4.years.fromNow?.stringWithFormat("HH:mm"))
// Optional("00:11")
// get tomorrow's date
sleep(1.day.timeInterval)
println(NSDate())
// please don't actually do this