Я хочу отображать календарь в этом формате
пользователю. Один из вариантов - использовать "диапазон строк" для получения отдельных компонентов календаря. Второй - получить его с помощью NSCalendar, который для меня выглядит лучше (это?). Таким образом, мой код выглядит следующим образом. Но есть две проблемы.
- Я не получаю локальную форму времени "часовые и минутные компоненты"
- Я получаю месяц в Int. Я хочу, чтобы это было в String (месяц в mediumStyle).
Кто-нибудь знает, как получить то, что мне нужно? Прикрепленное изображение - это то, чего я хочу достичь. Там я использую три UILabel для "даты", второй для "месяца", "год" и третий для "времени".
Любая помощь будет оценена.
var inputDateString = "Jun/12/2015 02:05 Am +05:00"
override func viewDidLoad() {
super.viewDidLoad()
let newDate = dateformatterDateString(inputDateString)
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute | .CalendarUnitMonth | .CalendarUnitYear | .CalendarUnitDay, fromDate: newDate!)
let hour = components.hour
let minutes = components.minute
let month = components.month
let year = components.year
let day = components.day
println(newDate)
println(components)
println(day) // 12
println(month) // 6 -----> Want to have "Jun" here
println(year) // 2015
println(hour) // 2 ------> Want to have the hour in the inputString i.e. 02
println(minutes) // 35 ------> Want to have the minute in the inputString i.e. 05
}
func dateformatterDateString(dateString: String) -> NSDate? {
let dateFormatter: NSDateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MMM/dd/yyyy hh:mm a Z"
// dateFormatter.timeZone = NSTimeZone(abbreviation: "UTC")
dateFormatter.timeZone = NSTimeZone.localTimeZone()
return dateFormatter.dateFromString(dateString)
}