NSDateFormatter从特定日期返回nil

时间:2016-01-27 13:28:06

标签: ios null nsdateformatter

我遇到问题,NSDateFormatter在特定日期返回nil,例如,2016年10月16日| 2017年10月15日| 2018年10月21日......

我尝试了一些日期模式:yyyy / MM / dd,MM / dd / yyyy,dd / MM / yyyy但总是返回nil。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

你住在巴西吗?

在这3个特定日期,夏令时在巴西从0:00变为1:00。

由于0:00不存在,日期为List<string> playerNameList = new List<string>(); using (OleDbReader r = command.ExecuteReader()) { while(reader.Read()) { playerNameList.Add(reader.GetString(0)); } }

答案 1 :(得分:0)

试试这个:

如果您的日期是字符串。

NSString *dateStr = @"October 16, 2016";

   // Convert string to date object
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"LLLL d, yyyy "];
    //  [dateFormat setDateStyle:NSDateFormatterShortStyle];
    NSDate *date = [dateFormat dateFromString:dateStr];

    NSLog(@"%@", [dateFormat stringFromDate:date]);

如果您使用[dateFormat setDateStyle:NSDateFormatterShortStyle];,则会将结果显示为10/16/16

swift 请使用以下格式:MMMM d, yyyy

 var mydate = "October 16, 2016"
        let formatter = NSDateFormatter()
        formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
        formatter.dateFormat = "MMMM dd, yyyy"
        if let parsedDateTimeString = formatter.dateFromString(mydate) {

            print(formatter.stringFromDate(parsedDateTimeString))
        } else {
            print("date format is wrong")
        }

<强>输出: 2016年10月16日