微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 SwiftUI 中使用 RelativeDateTimeFormatter 的奇怪结果

如何解决在 SwiftUI 中使用 RelativeDateTimeFormatter 的奇怪结果

因此,我在 SwiftUI 中使用 RelativeDateTimeFormatter 来显示基于日期和相对日期的本地化字符串。我正在寻找的是例如“明天”、“昨天”、“4 小时后”等。我可以完成这项工作,但我认为结果有点奇怪。

一个例子:
当 startDate 设置为星期三早上 7 点并且我今天(星期一,下午 2 点左右)运行下面的代码时,结果是“明天”。我不知道 RelativeDateTimeFormatter 是如何工作的,但我希望它返回类似“后天”或类似的内容

private static var relativeDateFormatter: RelativeDateTimeFormatter = {
        let formatter = RelativeDateTimeFormatter()
        formatter.dateTimeStyle = .named
        return formatter
    }()
Text(EventRow.relativeDateFormatter.localizedString(for: event.startDate,relativeto: Date()).uppercased())

一个示例:如果我将 startDate 设置为星期五上午 8 点并在今天(再次在星期一下午 2 点左右)运行代码,它将返回“3 天后”。不是更像是4天吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。