NSDateFormatter:如何缩短格式化日期?

时间:2011-10-04 06:27:56

标签: iphone objective-c xcode nsdate nsdateformatter

我正在使用NSDateFormatter在SQLite表格单元格值中格式化我的日期 我的单元格类型为datetime,我输入的值如下:“01.11.2011”,“02.11.2012”(dd.MM.yyyy)

当我收到数据时,我正在使用这样的NSDateFormatter

NSDateFormatter *dateFormatter =  [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd.MM.yyyy"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];

我的输出值是这样的:

2011-11-01 00:00:00 +0000

如何仅将此值缩短为日期值?像2011-11-01? 此外,如何更改此值中的位置和分隔符,如01.11.2011

编辑:我的错误,我没有说明我是如何获得价值的。像这样:

NSDate *myDate = [dateFormatter dateFromString:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 7)]];

编辑-2:我输入了一个断点并检查了该字符串中的即将到来的值,就像01.11.2011一样,当我进入数据库时​​。

1 个答案:

答案 0 :(得分:2)

您的代码非常正确。您没有显示如何从dateFormatter获取输出。格式化程序格式设置为:

[formatter setDateFormat:@"dd.mm.yyyy"];
NSString *formattedDate = [formatter stringFromDate:[NSDate date]];

这应该使用

分配formattedDate
04.10.2011