Obj-c - конвертировать строку в NSDate? - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь преобразовать текст, отображаемый в ячейке UILabel, в формат NSDate.По какой-то причине мой приведенный ниже код не работает, хотя моя строка (timeEnd) содержит значение?Выходные данные timeEnd: 19-08-2018 17:38, и все же по какой-то причине мой результат преобразования равен (NULL)?

ViewController.m

NSString *timeEnd = filteredSwap[indexPath.row][@"endswaptime"];
cell.endTime.text = timeEnd;

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd MMM y hh:mm a zzz"];
NSLog(@"Date is: %@", [dateFormatter dateFromString:timeEnd]);

Ответы [ 3 ]

0 голосов
/ 27 августа 2018

Используйте следующий код, чтобы получить вашу дату:

     NSString *timeEnd = filteredSwap[indexPath.row][@"endswaptime"];        
     NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd-mm-yyyy HH:mm"];
    NSLog(@"Date is: %@", [dateFormatter dateFromString:timeEnd]);
0 голосов
/ 27 августа 2018
        NSString *timeString = @"01/03/2018";

        NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
        NSDateFormatter *dateFormatter =[[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
        [dateFormatter setTimeZone:timeZone];

        result = [dateFormatter dateFromString:timeString];
0 голосов
/ 27 августа 2018

Вывод timeEnd: 19-08-2018 17:38, и все же по какой-то причине мой результат преобразования равен (NULL)?

Формат вашей строки нене соответствует формату, который вы используете для форматера даты.NSDateFormatter поэтому не может создать действительную дату, используя формат, который вы ей дали, и она возвращает nil.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...