【发布时间】:2011-10-04 06:27:55
【问题描述】:
我正在使用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)]];
Edit-2:我设置了一个断点并检查了这个字符串的值,当我进入数据库时,它就像 01.11.2011。
【问题讨论】:
-
你从哪里得到输出值?你还没有展示你是如何使用格式化程序的。
-
你传递给 dateformatter 的刺痛
-
我编辑了问题内容。
-
@confeng 这就是您从字符串中获取 NSDate 对象的方式。您可以使用相同的 dateFormatter 通过调用 [dateFormatter stringFromDate:myDate] 来获取格式化的日期字符串
-
@Nevin,没错,但我的问题是我想在这个日期之前订购和刻板印象值。我可以为此使用 stringFromDate 值吗?我很怀疑。
标签: iphone objective-c xcode nsdate nsdateformatter