SwiftMoment 0.7

SwiftMoment 0.7

测试已测试
语言语言 SwiftSwift
许可证 BSD
发布最后发布2016 年 10 月
SPM支持 SPM

Adrian Kosmaczewski 维护。



  • 作者:
  • Adrian Kosmaczewski

SwiftMoment

本框架受 Moment.js 的启发。其目标是以下:

  • 简化日期和间隔值的操作和可读性。
  • 提供解析来自各种字符串表示形式的日期的帮助。
  • 简化将日期信息格式化为字符串的过程。
  • 从日期和时间段中获取日期组件(日、月等)的流程。

重要:此框架支持 iOS 9+、macOS 10.11+、tvOS 9+、watchOS 2+、Xcode 8 和 Swift 3。

安装

SwiftMoment 与 CarthageCocoaPods 兼容。使用 CocoaPods,只需将其添加到 Podfile 中

pod 'SwiftMoment'

Mac OS X 注意事项

  • 将创建的 .framework 文件拖放到 Xcode 项目中,务必勾选“将文件复制到目录”
  • 在包含的应用程序目标中,添加一个新 'Copy File Build Phase’
  • 将 'Destination’ 设置为 'Frameworks’
  • 拖入创建的 .framework

示例

要使用此库,只需在您的应用程序中 import SwiftMoment

要创建新的 moment 实例

let now = moment()
let yesterday = moment("2015-01-19")

默认情况下,moments 使用当前日期和时间初始化。您可以为未来或过去的任何…时刻创建 moments;您可以通过传递不同格式的字符串来完成此操作

let yesterday = moment("2015-01-19")

您也可以直接手动指定组件

let today = moment([2015, 01, 19, 20, 45, 34])

您还可以使用包含以下键的字典

let obj = moment(["year": 2015,
                    "second": 34,
                    "month": 01,
                    "minute": 45,
                    "hour": 20,
                    "day": 19
                ])

当使用 [String: Int] 字典时,键的顺序不重要。此外,仅考虑上述键,任何其他信息都将被忽略。

Swift 中还有一个扩展到 Int 类型,用于直接从整数值创建 Duration

let duration = 5.hours + 56.minutes

架构

此库的两个最重要的组件是 MomentDuration 结构。`Moment` 包装一个 `NSDate` 实例,而 `Duration` 包装一个 `NSTimeInterval` 值。

MomentDuration 都遵循 Comparable 协议,并包含所有必要的运算符。此外,Moment 实例可以从彼此相减(得到一个 Duration),

MomentsDurations 尽可能做成不可变的。

测试

Swift Moment 包含一组测试,展示如何使用框架的不同功能。

沙盒

项目包含沙盒,帮助学习如何使用这个库。

Moment.js 的不同

  • 格式字符串 DDdd 的结果不相同。

贡献者

许多人积极帮助这个库的开发;请查看贡献者文件以获取完整的列表!感谢所有人:)

许可

本项目采用 BSD 许可证发布。有关详细信息,请参阅 LICENSE 文件。