gpt4 book ai didi

objective-c - NSDateFormatter 具有自定义格式的相对日期格式

转载 作者:太空狗 更新时间:2023-10-30 03:22:07 25 4
gpt4 key购买 nike

所以我的意图是发布如下所示的日期:

Today, August 28
Tomorrow, August 29
Friday, August 30
...etc

问题是我似乎只能靠这么近。

当我将 setDoesRelativeDateFormatting:YESsetDateStyle 设置为 Full 并将 setTimeStyle 设置为 None,它会产生如下结果:

Today
Tomorrow
Friday, August 30, 2013

这会产生年份,不会产生今天和明天的月份和日期。

我试过的其他代码是这样的:

[NSDateFormatter dateFormatFromTemplate:@"eeeedMMM" options:0
locale:[NSLocale currentLocale]];

结果如下:

Wednesday, August 28
Thursday, August 29
Friday, August 30

表面上看,dateStyle 和 timeStyle,或相对日期格式覆盖了自定义格式。

有没有一种方法可以在不进入自定义实现的情况下完成这种日期格式?

提前致谢!

最佳答案

根据有关 NSDateFormatter 的文档,我认为解决您的问题的唯一方法是为您希望相对显示的日期提供两个日期字符串。您应该记住,在不同的语言中,相对日期是不同的。来自文档:

If a date formatter uses relative date formatting, where possible it replaces the date component of its output with a phrase—such as “today” or “tomorrow”—that indicates a relative date. The available phrases depend on the locale for the date formatter; whereas, for dates in the future, English may only allow “tomorrow,” French may allow “the day after the day after tomorrow".

我相信,如果您定义要相对显示,例如昨天、今天和明天,您可以使用 2 个 NSDateFormatters。第一个显示相对值,第二个显示实际日期。对于非相对日期,您将仅显示非相对值。

关于objective-c - NSDateFormatter 具有自定义格式的相对日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18498561/

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