gpt4 book ai didi

swift - 如何在 Swift 中渲染本地化日期间隔

转载 作者:行者123 更新时间:2023-11-30 13:30:43 25 4
gpt4 key购买 nike

我需要渲染两个可以正确本地化的日期之间的间隔,如下所示:

  • 英式英语:4 月 13 - 16 日
  • 美式英语:4 月 13 日 - 16 日
  • 法语:13-16 avr。

最佳答案

使用 NSDateIntervalFormatter 类。

Swift Playground 示例:

import Foundation

let dateIntervalFormatter = DateIntervalFormatter()

let fromDate = Date(timeIntervalSinceReferenceDate: -123456789.0)
let toDate = Date()

dateIntervalFormatter.dateTemplate = "d MMM"
dateIntervalFormatter.string(from: fromDate, to: toDate)
// Outputs "Feb 1, 1997 – Jun 5, 2019"

dateIntervalFormatter.dateTemplate = "EEE, MMM d, ''yy"
dateIntervalFormatter.string(from: fromDate, to: toDate)
// Outputs "Sat, Feb 1, 97 – Wed, Jun 5, 19"

dateIntervalFormatter.locale = Locale(identifier: "fr_FR")
dateIntervalFormatter.string(from: fromDate, to: toDate)
// Outputs "sam. 1 févr. 97 – mer. 5 juin 19"

如果您想通过在格式化程序实例上设置 locale 属性来在与当前区域设置不同的区域设置中呈现日期间隔,则可以选择设置区域设置。

您可以按照 Unicode Technical Standard #35 中定义的日期格式模式在 dateTemplate 中编写自己的格式。

或者,您可以通过设置 NSDateIntervalFormatter 实例的 dateStyletimeStyle 属性来使用系统预定义的日期和时间样式(请参阅 NSDateIntervalFormatter Formatter Options了解预定义格式的更多详细信息)。

关于swift - 如何在 Swift 中渲染本地化日期间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36598761/

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