首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用SwiftDate框架打印当前时区的日期和时间(本地化)

如何使用SwiftDate框架打印当前时区的日期和时间(本地化)
EN

Stack Overflow用户
提问于 2020-03-09 00:51:05
回答 2查看 126关注 0票数 2

我使用的是SwiftDate框架(参见下面的链接) https://github.com/malcommac/SwiftDate

我想打印当前区域/本地/时区的日期和时间。我可以通过使用以下代码来实现这一点,而不使用SwiftDate:

代码语言:javascript
复制
DateFormatter.localizedString(from: Date(), dateStyle: .short, timeStyle: .short)

因此,SwiftDate提供了一个共享日期格式化程序。我想知道SwiftDate是否也能做到这一点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-09 14:05:01

我尝试过predrag-samardzic代码,它起作用了。现在有两个选项(完成相同的工作),一个使用NSDateFormatter,另一个使用SwiftDate,我想对它们进行分析,看看哪一个更好。下面是我用来分析它们的代码:

代码语言:javascript
复制
func testNSDateFormatter() {
    for _ in 1...10000 {
        print("\(Date().toLocalizedString())")
    }
}

func testSwiftDate() {
    for _ in 1...10000 {
        print("\(Date().localizedDate.toString(.dateTime(.short)))")
    }
}

extension Date {
    func toLocalizedString(dateStyle: DateFormatter.Style = .short, timeStyle: DateFormatter.Style = .short) -> String {
        return DateFormatter.localizedString(from: self, dateStyle: dateStyle, timeStyle: timeStyle)
    }

    var localizedDate: DateInRegion {
         return self.in(region: Region(calendar: Calendar.current, zone: Zones.current, locale: Locale.current))
    }
}

这是分析器的截图。

性能分析的结果:

NSDateFormatter - 773x SwiftDate - 2674x

NSDateFormatter的速度大约是SwiftDate的3.45倍。基于以上原因,我推荐使用NSDateFormatter而不是SwiftDate。

票数 0
EN

Stack Overflow用户

发布于 2020-03-09 01:54:43

我使用扩展来获取本地化日期:

代码语言:javascript
复制
import SwiftDate

extension Date {

//you can specify region/timezone/locale to what you want
    var localizedDate: DateInRegion {
        return self.in(region: Region(calendar: Calendar.current, zone: Zones.current, locale: Locale.current))
    }
}

然后您可以这样使用它(如果您需要系统本地化日期,只需省略扩展部分):

代码语言:javascript
复制
let dateString = Date().localizedDate.toString(.custom("dd.MM.yyyy."))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60589787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档