VDDate 📆

VDDate 是一个 Swift 库,为 Date 结构体提供了一组强大的扩展,增强了其功能,并使 Swift 中的日期操作更加直观和强大。

特性

Date

注意

所有方法都接受一个 Calendar 参数,在某些情况下还接受 TimeZoneLocale
我引入了静态变量:Calendar.default, TimeZone.default, 和 Locale.default
这些变量充当每个相应方法的默认值。 您可以全局或专门针对给定方法修改每个 default 变量。

全局重载 Calendar 参数

Calendar.bootstrap(default: Calendar(identifier: .gregorian))

为特定方法使用 Calendar 参数

date.start(of: .day, calendar: Calendar(identifier: .gregorian))

提示:您可以使用 TaskLocal 为特定任务及其子任务设置默认值。

extension Calendar {
  @TaskLocal
  static var local: Calendar = .autoupdatingCurrent
}

Calendar.bootstrap(default: .local)

Calendar.$local.withValue(Calendar(identifier: .gregorian)) {
  print(Date.now.start(of: .day))
}

TimeInterval

DateComponents

安装

  1. Swift Package Manager

创建一个 Package.swift 文件。

// swift-tools-version:5.7
import PackageDescription

let package = Package(
  name: "SomeProject",
  dependencies: [
    .package(url: "https://github.com/dankinsoid/VDDate.git", from: "0.14.0")
  ],
  targets: [
    .target(name: "SomeProject", dependencies: ["VDDate"])
  ]
)
$ swift build

作者

dankinsoid, voidilov@gmail.com

许可证

VDDate 在 MIT 许可证下可用。 有关更多信息,请参见 LICENSE 文件。