RelativeFormatter 0.8.3

RelativeFormatter 0.8.3

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

Bitomule 维护。



  • David Collado Sela 和 David Santana

RelativeFormatter

Swift 扩展,用以根据当前日期格式化日期。

功能

  • [x] 将日期格式化为“过去的時間”
  • [x] 将日期格式化为“未来的时间”
  • [x] 使用惯用风格(今天,昨天,明天)
  • [x] 设置格式精度(年,月,周,日,小时,分钟和秒)

要求

  • iOS 8.0+ / Mac OS X 10.9+
  • Xcode 8.0
  • Swift 3

安装

嵌入式框架需要至少 iOS 8 或 OS X Mavericks 的最小部署目标。

如何使用

RelativeFormatter 仅仅是 NSDate 的一个扩展,你可以在任何 NSDate 对象上使用它

只有一个函数需要调用

relativeFormatted(idiomatic:Bool=false,precision:Precision=Precision.Second)->String

这两个参数都不是必需的。

  • idiomatic:Bool

该参数默认为 false,允许你使用惯用日期格式或仅仅使用数字。

示例

//oldDate is yesterday date

oldDate.relativeFormatted()

//outputs
// “1 day ago”

oldDate.relativeFormatted(idiomatic:true)

//outputs
// “yesterday”
  • precision:Precision

精度参数允许你定义格式精度。默认值是秒。

示例

todayDate.relativeFormatted(precision:Precision.Year)

//outputs
// “this year”

todayDate.relativeFormatted(precision:Precision.Month)

//outputs
// “this month”

todayDate.relativeFormatted(precision:Precision.Day)

//outputs
// “today”

todayDate.relativeFormatted(precision:Precision.Hour)

//outputs
// “3 hours ago”

你总是可以使用带有默认参数的 relativeFormatted。如果你有一个代表2个月前的日期的 NSDate 对象,只需使用

    oldDate.relativeFormatted()

然后你会得到

“2个月前”

它也适用于未来的日期(3年后的日期)

    futureDate.relativeFormatted()

将会返回

“在3年后”

语言

RelativeFormatter 包括对以下语言的本地化:

  • [x] 英语
  • [x] 西班牙语
  • [x] 法语

如果你希望包含新的语言,请创建一个 pull request。