如何设置日期格式,例如"5分钟","1小时",“昨天","1周前"? [英] How to format a date like "5 min", "1 hour,", "Yesterday", "1 Week ago"?

查看:117
本文介绍了如何设置日期格式,例如"5分钟","1小时",“昨天","1周前"?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试获取类似于Facebook发布日期/时间的信息.例如1分钟1小时,昨天,一周前,等等.

I am trying to get something similar to facebook post date/time. Like 1 min, 1 hour, Yesterday, Week ago etc.

这是我用来获取这种格式的is函数:(Oct-22 17:28 PM)

This is the is function I am using to get this format: (Oct-22 17:28 PM)

func convertTime(serverTime: Double)  -> String {
    let serverTime = serverTime
    let date = Date(timeIntervalSince1970: serverTime)
    let dateFomatter = DateFormatter()
    dateFomatter.dateFormat = "MMM-dd HH:mm a"
    let strDate = dateFomatter.string(from: date)
    print("This is the post's date: \(strDate)")

    return strDate
}

推荐答案

尝试此代码

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatter.locale = Locale.init(identifier: "en_GB")
let before = dateFormatter.date(from: "2017-10-23 10:28:17")!

//getting the current time
let now = Date()

let formatter = DateComponentsFormatter()
formatter.unitsStyle = .full
formatter.zeroFormattingBehavior = .dropAll
formatter.maximumUnitCount = 1 
formatter.allowedUnits = [.year, .month, .weekOfMonth, .day, .hour, .minute]
formatter.includesApproximationPhrase = true 


let formatString = NSLocalizedString("%@ ago", comment: "e.g. '2 hours ago'")

let timeString = formatter.string(from: before, to: now)

这篇关于如何设置日期格式,例如"5分钟","1小时",“昨天","1周前"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆