“设置日期格式”不适用于 GMT?

发布于 2024-11-28 12:50:12 字数 579 浏览 0 评论 0原文

我想知道为什么我的 setDateFormat 在使用不同时区(此处为 GMT)时不起作用:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];

[dateFormatter setDateFormat:@"dd-MM-YYYY"]; //this doesn't work, nothing appears
//[dateFormatter setDateStyle:NSDateFormatterMediumStyle]; //this works

但如果我使用默认时区,它就可以工作:

NSDateFormatter *Dateformat = [[NSDateFormatter alloc]init];
[Dateformat setDateFormat:@"dd-MM-YYYY HH:mm:ss"]; //this works

感谢您的帮助

Paul

i'm wondering why my setDateFormat does not work when i use it with a different timezone , here GMT :

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];

[dateFormatter setDateFormat:@"dd-MM-YYYY"]; //this doesn't work, nothing appears
//[dateFormatter setDateStyle:NSDateFormatterMediumStyle]; //this works

but if i use the default timeZone, it works :

NSDateFormatter *Dateformat = [[NSDateFormatter alloc]init];
[Dateformat setDateFormat:@"dd-MM-YYYY HH:mm:ss"]; //this works

Thanks for your help

Paul

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

我恋#小黄人 2024-12-05 12:50:12

你是否尝试过使用这个 dateFormatter 来 NSLog 一个字符串,它对我来说很有效..当我将一个字符串设置为 -

NSString *dateStr = [dateFormatter stringFromDate:[NSDate date]];

NSLog(@"%@",dateStr);

时它给了我这个 -

09-08-2011

Have you tried to NSLog a string by using this dateFormatter, its woking for me..when i make a string as-

NSString *dateStr = [dateFormatter stringFromDate:[NSDate date]];

NSLog(@"%@",dateStr);

and its give me this -

09-08-2011
凉世弥音 2024-12-05 12:50:12

另外,您可能应该使用: [dateFormatter setDateFormat:@"dd-MM-yyyy"] 而不是 [dateFormatter setDateFormat:@"dd-MM-YYYY"]。
根据苹果文档,使用 YYYY 是一个常见的错误。它返回该周所在年份的年份编号(根据 ISO 周编号方案)。这个可以休一年。小写 yyyy 通常是正确的版本。
请参阅:iphone 以字符串形式获取当前年份
(安娜·卡列尼娜评论)

Additionaly, you should probably be using: [dateFormatter setDateFormat:@"dd-MM-yyyy"] instead of [dateFormatter setDateFormat:@"dd-MM-YYYY"].
Using YYYY is a common mistake according to the apple documentation. It returns the year number of the year the week is in (according to ISO week numbering scheme). This can be off one year. Lowercase yyyy is normally the correct version.
See: iphone Get current year as string
(The comment of Anna Karenina)

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