Я пытаюсь получить текущую дату без часов и минут с помощью этого кода Swift:
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay, fromDate: NSDate())
println(components)
let date = calendar.dateFromComponents(components)
println(date)
Результат, который я получаю с println
, меня немного сбивает с толку:
<NSDateComponents: 0x7fb5ad867700>
Calendar Year: 2015
Month: 7
Leap month: no
Day: 2
2015-07-01 22:00:00 +0000
components
— это 2015-07-02, но полученный date
— это 2015-07-01 22:00:00
Где моя ошибка?
Упомянутый с NSDateFormatter
результат в порядке:
var dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = NSDateFormatterStyle.LongStyle
dateFormatter.timeStyle = NSDateFormatterStyle.ShortStyle
println(dateFormatter.stringFromDate(date!))
Результат:
July 2, 2015 at 12:00 AM