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

发布于 2024-12-08 10:42:29 字数 840 浏览 0 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

与风相奔跑 2024-12-15 10:42:29

你的代码几乎是正确的。不过,您没有展示如何从 dateFormatter 获取输出。将格式化程序格式设置为:

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

这应该将 formattedDate 分配为

04.10.2011

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:

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

This should assign formattedDate with

04.10.2011
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文