SwiftTZ

一个类型安全的 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"

TimeZone 初始化

接受 TimeZoneIdentifierTimeZone 初始化器永远不会失败,因为标识符集合是静态已知的,并且已知是有效的。

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"

包结构

贡献

欢迎贡献!如果您遇到 bug 或有功能请求,请随时打开 issue 或提交 pull request。

设置

  1. 克隆仓库
git clone https://github.com/vamsi777/SwiftTZ.git
cd SwiftTZ
  1. 运行生成器以获取最新的 IANA 时区数据库并生成 TimeZoneIdentifier.swift 文件
swift run SwiftTZGenerator

致谢

许可证

SwiftTZ 基于 MIT 许可证发布。 有关详细信息,请参阅 LICENSE 文件。