Objective c 将整数转换为日期格式
我对objective-c非常陌生,我在sqlite表中存储了一个整数日期,例如20131017(代表2013年10月17日)。我想以2013年10月17日的格式向用户显示,但我的代码在登录时生成空值 毫无疑问,我错过了一些非常基本的东西——但就我的一生而言,我看不到它 代码如下:Objective c 将整数转换为日期格式,objective-c,nsdate,Objective C,Nsdate,我对objective-c非常陌生,我在sqlite表中存储了一个整数日期,例如20131017(代表2013年10月17日)。我想以2013年10月17日的格式向用户显示,但我的代码在登录时生成空值 毫无疑问,我错过了一些非常基本的东西——但就我的一生而言,我看不到它 代码如下: _fromDate.text = _startDate; //e.g.20131017 (representing Oct 17, 2013) NSString *dateString =[NSString str
_fromDate.text = _startDate; //e.g.20131017 (representing Oct 17, 2013)
NSString *dateString =[NSString stringWithFormat:@"%d", [_fromDate.text intValue]];
NSLog(@"dateString: %@", dateString);// shows 20131017 ok
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, yyyy"];
NSDate *date = [dateFormat dateFromString:dateString];
NSLog(@"date: %@", date); //produces a nil result
谢谢你的帮助。Thx.使用此位代码:
[dateFormat setDateFormat:@"MMM dd, yyyy"];
NSDate *date = [dateFormat dateFromString:dateString];
你是说:
@“yyyyMMdd”
(或者类似的,我手头没有规范)
您确实需要2种格式(和2种格式化程序)
日期格式化程序不是这样工作的。更好地阅读文档。这已经在这里讨论过多次。嗯,如果您要使用日期格式化程序来解析字符日期,“日期格式”应该或多或少类似于您试图解析的字符串。可能重复为什么要获取字符串(
\u fromDate.text
),请将其转换为int
,然后使用字符串格式将int
转换回相同的字符串?只需执行NSString*dateString=\u fromDate.text代码>。正如这里已经被无数的问题所涵盖的,要从一种格式转换到另一种格式,需要两种不同的日期格式来进行转换。