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)]];
Edit-2:我设置了一个断点并检查了该字符串的传入值,就像我输入数据库时的 01.11.2011 一样。
I'm using an NSDateFormatter
to format my date in SQLite table cell value.
The type of my cell is datetime
, and the values I enter are like: "01.11.2011", "02.11.2012" (dd.MM.yyyy)
When I'm getting the data, I'm using an NSDateFormatter
like this:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd.MM.yyyy"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
And my output values are like this:
2011-11-01 00:00:00 +0000
How can I shorten this value as a date value only? Like 2011-11-01
?
And more, how can I change the places and separators in this value like 01.11.2011
?
Edit: My mistake, I didn't show how I got the values. Like this:
NSDate *myDate = [dateFormatter dateFromString:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 7)]];
Edit-2: I put a breakpoint and checked the coming value from this string, it's like 01.11.2011, as I entered the database.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的代码几乎是正确的。不过,您没有展示如何从 dateFormatter 获取输出。将格式化程序格式设置为:
这应该将 formattedDate 分配为
Your code is pretty much correct. You didn't show how you get the output from the dateFormatter though. With the formatter format set to:
This should assign formattedDate with