某些日期的NSDate格式不是有效日期

时间:2016-09-28 04:13:44

标签: ios objective-c nsdate nsdateformatter

目前我有一段代码将用户输入的一组字符串(例如900130)转换为使用yyMMdd(马来西亚IC)格式的日期。我的转换字符串的代码如下:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyMMdd"];
date = [dateFormat dateFromString:temp]; // temp = string key in by user

当我运行某些测试时,我没有遇到这个问题,但当我把它交给其他人测试时,问题发生在应该转换为30/1/1949的字符串490130转换它的地方到30/1/2049。

如何将490130转换为30/1/1949而不是30/1/2049

1 个答案:

答案 0 :(得分:1)

stomp如果年份小于50则假定为2位数年份为20xx,如果年份大于50则假定为2位年份为19xx。我忘记了当年份为50时假定的年份。

您似乎希望截止值与50不同。没有内置支持使用不同的截止值。

一个选项是查看前两个字符,看它是在截止点之下还是之后。然后根据需要在字符串的开头添加19或20。然后使用gem install stomp解析字符串。