gpt4 book ai didi

iphone - NSDateFormatter 返回不正确的字符串?

转载 作者:行者123 更新时间:2023-11-28 22:39:50 27 4
gpt4 key购买 nike

我在 NSDate 上编写了一个方法作为类别,它从日期返回一个字符串。格式为{四年数}{两个月数}{两天数}。出于某种原因,格式化程序将当前年份作为四位年份数字返回,而不是返回日期的年份。这是我的代码:

- (NSString *) YYYYMMDD{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setTimeStyle:NSDateFormatterNoStyle];
[formatter setDateStyle:NSDateFormatterFullStyle];
[formatter setDateFormat:@"YYYYMMdd"]; // This line is doing something odd, not sure why yet.

NSString *dateAsString = [formatter stringFromDate:self];

NSLog(@"Date: %@ String: %@", [self description], dateAsString);

return dateAsString;

查看记录的行,您会注意到年份是不灵活的并且坚持当前年份,即使应该由日期对象表示的年份不是当前年份也是如此。

知道这是为什么吗?我使用的格式化程序不正确吗?

最佳答案

Data Formatting Guide 中的评论所述:

A common mistake is to use YYYY. yyyy specifies the calendar year whereas YYYY specifies the year (of “Week of Year”), used in the ISO year-week calendar. In most cases, yyyy and YYYY yield the same number, however they may be different. Typically you should use the calendar year.

所以尝试:

[formatter setDateFormat:@"yyyyMMdd"];

关于iphone - NSDateFormatter 返回不正确的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14856239/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com