2017-10-23 18 views
0

私はFacebookの日付/時刻の投稿と同様のものを手に入れようとしています。同様週間前1分、1時間、昨日、など"5分"、 "1時間"、 "昨日"、 "1週間前"のように日付をフォーマットするにはどうすればよいですか?

は、これは私がこのフォーマットを取得するために使用しています関数である:(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 
} 
+1

読み取り、このコードを試してみてください'DateFormatter' [docs](https://developer.apple.com/documentation/foundation/dateformatter/1415848-doesrelativedateformatting)、どうか...? – holex

答えて

1

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) 
+0

ありがとう、あなたのソリューションは私のために働いた。 「前」を自分のサーバーの時刻に変更するだけです。今私はこのような時間を得ています: 時間は約5日です 時間は約21時間 時間は約3分です 時間は約3分です –

関連する問題