一个类型安全的 Swift 包装器,用于 IANA 时区标识符,以及 Foundation TimeZone
标识符的扩展。
将 SwiftTZ 添加到你的 Package.swift
文件
dependencies: [
.package(url: "https://github.com/vamsii777/SwiftTZ.git", from: "0.2.0")
]
要使用时区,请使用 TimeZoneIdentifier
创建 TimeZone
实例
import SwiftTZ
let newYork = TimeZone(.americaNewYork)
print(newYork.identifier) // "America/New_York"
接受 TimeZoneIdentifier
的 TimeZone
初始化器永远不会失败,因为标识符集合是静态已知的,并且已知是有效的。
let newYork = TimeZone(.americaNewYork)
print(newYork.identifier) // "America/New_York"
let tokyo = TimeZone(identifier: .asiaTokyo)
print(tokyo.identifier) // "Asia/Tokyo"
let london = TimeZone(.europeLondon) // "Europe/London"
let identifier = london.timeZoneIdentifier
print(identifier) // "europeLondon"
Sources/SwiftTZ
:主库Sources/SwiftTZGenerator
:生成器可执行文件,用于获取最新的 IANA 时区数据库Tests/SwiftTZTests
:单元测试欢迎贡献!如果您遇到 bug 或有功能请求,请随时打开 issue 或提交 pull request。
git clone https://github.com/vamsi777/SwiftTZ.git
cd SwiftTZ
TimeZoneIdentifier.swift
文件swift run SwiftTZGenerator
SwiftTZ 基于 MIT 许可证发布。 有关详细信息,请参阅 LICENSE 文件。