2017-10-23 7 views
0

나는 페이스 북 게시 날짜/시간과 유사한 것을 얻으려고 노력하고있다. 마찬가지로 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

대단히 감사합니다. 솔루션이 저에게 효과적이었습니다. "before"를 내 서버 시간으로 변경해야합니다. 이제 나는 이렇게 시간을 보내고 있습니다 : 시간은 약 5 일입니다 시간은 약 21 시간 시간은 약 3 분 시간은 약 3 분입니다 –

관련 문제