|
//
// DateExt.swift
// ExtensionKit
//
// Created by FFIB on 2017/9/24.
// Copyright © 2017年 FFIB. All rights reserved.
//
import UIKit
extension String {
public func convertTimeStringToDate(format: String) -> Date? {
var t = tm()
strptime(self, format, &t)
t.tm_isdst = -1
let date = mktime(&t)
return Date(timeIntervalSince1970: TimeInterval(date) + TimeInterval(TimeZone.current.secondsFromGMT()))
}
}
extension Date {
public func getTimeString(format: String) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
return dateFormatter.string(from: self)
}
public func getTimeInfoFromDate() -> String {
let dateNow = Date()
let time = dateNow.timeIntervalSince(self) - 28800
var retTime: TimeInterval = 1.0
if time < 3600 {
retTime = time / 60
var retTimeInt = Int(retTime)
retTimeInt = retTimeInt <= 0 ? 1 : retTimeInt
return "\(retTimeInt)分钟前"
} else if (time < (3600 * 24)) {
retTime = time / 3600
var retTimeInt = Int(retTime)
retTimeInt = retTimeInt <= 0 ? 1 : retTimeInt
return "\(retTimeInt)小时前"
} else if (time < 3600 * 24 * 7) {
retTime = time / (3600 * 24)
var retTimeInt = Int(retTime)
retTimeInt = retTimeInt <= 0 ? 1 : retTimeInt
return "\(retTimeInt)天前"
} else if (time < 3600 * 24 * 30) {
retTime = time / (3600 * 24 * 7)
var retTimeInt = Int(retTime)
retTimeInt = retTimeInt <= 0 ? 1 : retTimeInt
return "\(retTimeInt)周前"
}else if (time < 3600 * 24 * 7 * 365) {
retTime = time / (3600 * 24 * 7 * 30)
var retTimeInt = Int(retTime)
retTimeInt = retTimeInt <= 0 ? 1 : retTimeInt
return "\(retTimeInt)月前"
} else {
retTime = time / (3600 * 24 * 7 * 365)
var retTimeInt = Int(retTime)
retTimeInt = retTimeInt <= 0 ? 1 : retTimeInt
return "\(retTimeInt)年前"
}
}
}
|