Вопрос:

dateFromString возвращает ноль для некоторых значений

ios swift nsdateformatter

176 просмотра

1 ответ

5238 Репутация автора

Я получаю nilнекоторые значения при использовании dateFromStringв swift. Я много искал, но тщетно.

Ниже приведен мой код:

let strDate = self.sortedDict.valueForKey("TIME").objectAtIndex(indexPath.row).objectAtIndex(0) as? String
        print(strDate);

        let st_date = frmt.dateFromString(strDate!)

        let frmt1:NSDateFormatter = NSDateFormatter()
        frmt1.locale = NSLocale(localeIdentifier: localeStr)
        frmt1.dateFormat = "MMM, dd yyyy hh:mm a"
        if st_date != nil {
            print(st_date)
}

Выходная консоль:

    Optional("September, 20 2015 10:00:00")
Optional(2015-09-20 10:00:00 +0000)

Optional("October, 04 2015 10:00:00")
Optional(2015-10-04 10:00:00 +0000)

Optional("October, 04 2015 14:00:00") // nil
Optional("October, 18 2015 15:00:00") // nil
Optional("September, 20 2015 14:00:00") // nil

Optional("September, 27 2015 10:00:00")
Optional(2015-09-27 10:00:00 +0000)
Optional("September, 27 2015 12:00:00")
Optional(2015-09-27 00:00:00 +0000)
Optional("September, 27 2015 14:00:00")

Optional("October, 03 2015 14:00:00") //nil
Optional("October, 03 2015 16:00:00") //nil

Формат одинаков для всех строк даты, но я получаю ноль для нескольких значений. Почему так? Пожалуйста помоги. Где я ошибаюсь?

Автор: z22 Источник Размещён: 22.12.2015 07:20

Ответы (1)


5 плюса

15530 Репутация автора

Решение

формат должен быть ЧЧ в течение 24 часов, даже если вы получаете значения только в течение 12 часов.

frmt1.dateFormat = "MMM, dd yyyy HH:mm a"
Автор: Dharmbir Singh Размещён: 22.12.2015 07:25
Вопросы из категории :
32x32