HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何在swift中格式化用户显示(社交网络)的时间间隔?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个时间间隔,比如12600,相当于3小时30分钟.我如何格式化任何这样的时间间隔,以便只保留间隔的最高部分(例如在这种情况下图中的小时),并将正确的区域设置缩写附加到数字上.例如10米(10分钟),3d(3天),1年(1年).

编辑:以下是一些例子:

TimE interval in: 90000    Whole String: 1d      String out: 1d
TimE interval in: 900      Whole String: 15m     String out: 15m
TimE interval in: 13500    Whole String: 3h 45m  String out: 4h

作为一般规则,应用正常的舍入规则(3.4轮向下,3.6轮向上).

解决方法

使用 DateComponentFormatter,自iOS 8起可用:
func format(duration: TimeInterval) -> String {
    let formatter = DateComponentsFormatter()
    formatter.allowedUnits = [.day,.hour,.minute,.second]
    formatter.unitsStyle = .abbreviated
    formatter.maximumUnitCount = 1

    return formatter.String(from: duration)!
}

for d in [12600.0,90000.0,900.0,13500.0] {
    let str = format(duration: d)
    print("\(d): \(str)")
}

这打印:

12600.0: 4h
90000.0: 1d
900.0: 15m
13500.0: 4h

大佬总结

以上是大佬教程为你收集整理的ios – 如何在swift中格式化用户显示(社交网络)的时间间隔?全部内容,希望文章能够帮你解决ios – 如何在swift中格式化用户显示(社交网络)的时间间隔?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。