111 lines
3.1 KiB
Swift
111 lines
3.1 KiB
Swift
//
|
||
// Date+.swift
|
||
// yinmeng-ios
|
||
//
|
||
// Created by MaiMang on 2024/2/27.
|
||
//
|
||
|
||
import Foundation
|
||
|
||
extension Date {
|
||
|
||
/// 获取当前时间戳
|
||
/// - Returns: 当前时间戳
|
||
static func getNowTimeStamp() -> Int {
|
||
let nowDate = Date.init()
|
||
//10位数时间戳
|
||
let interval = Int(nowDate.timeIntervalSince1970)
|
||
return interval
|
||
}
|
||
|
||
/// 获取当前时间字符串
|
||
/// - Returns: 当前时间戳
|
||
static func getNowTimeString(dateFormat: String) -> String {
|
||
let dateformatter = DateFormatter()
|
||
dateformatter.dateFormat = dateFormat
|
||
let nowDate = Date.init()
|
||
return dateformatter.string(from: nowDate)
|
||
}
|
||
|
||
|
||
|
||
/// 时间戳转换时间字符串
|
||
/// - Parameters:
|
||
/// - timeStamp: 时间戳
|
||
/// - dateFormat: 自定义日期格式(如:yyyy-MM-dd HH:mm:ss)
|
||
/// - Returns: 时间字符串
|
||
static func getTimeString(timeStamp: Int, dateFormat: String) -> String {
|
||
let date = Date(timeIntervalSince1970: TimeInterval.init(timeStamp))
|
||
let dateformatter = DateFormatter()
|
||
dateformatter.dateFormat = dateFormat
|
||
return dateformatter.string(from: date)
|
||
}
|
||
|
||
|
||
/// 日期转Date
|
||
/// - Parameters:
|
||
/// - timeString: 日期字符串
|
||
/// - dateFormat: 自定义日期格式(如:yyyy-MM-dd HH:mm:ss)
|
||
/// - Returns: Date
|
||
static func getDate(timeString: String, dateFormat: String) -> Date {
|
||
let dateformatter = DateFormatter()
|
||
dateformatter.dateFormat = dateFormat
|
||
let date = dateformatter.date(from: timeString) ?? Date()
|
||
return date
|
||
}
|
||
|
||
/// 日期转时间戳
|
||
/// - Parameters:
|
||
/// - timeString: 日期字符串
|
||
/// - dateFormat: 自定义日期格式(如:yyyy-MM-dd HH:mm:ss)
|
||
/// - Returns: 时间戳
|
||
static func getTimeStamp(timeString: String, dateFormat: String) -> Int {
|
||
let dateformatter = DateFormatter()
|
||
dateformatter.dateFormat = dateFormat
|
||
let date = self.getDate(timeString: timeString, dateFormat: dateFormat)
|
||
return Int(date.timeIntervalSince1970)
|
||
}
|
||
|
||
|
||
/// 时间戳转换时间date
|
||
/// - Parameters:
|
||
/// - timeStamp: 时间戳
|
||
/// - Returns: date
|
||
static func getDateWith(timeStamp: Int) -> Date {
|
||
let date = Date(timeIntervalSince1970: TimeInterval.init(timeStamp))
|
||
return date
|
||
}
|
||
|
||
|
||
/// 获取(年,月,日,时,分,秒)
|
||
/// - Returns: (年,月,日,时,分,秒)
|
||
func getTime() -> (String, String, String, String, String, String) {
|
||
let dateformatter = DateFormatter()
|
||
dateformatter.dateFormat = "yyyy"
|
||
let y = dateformatter.string(from: self)
|
||
dateformatter.dateFormat = "MM"
|
||
let mo = dateformatter.string(from: self)
|
||
dateformatter.dateFormat = "dd"
|
||
let d = dateformatter.string(from: self)
|
||
dateformatter.dateFormat = "HH"
|
||
let h = dateformatter.string(from: self)
|
||
dateformatter.dateFormat = "mm"
|
||
let m = dateformatter.string(from: self)
|
||
dateformatter.dateFormat = "ss"
|
||
let s = dateformatter.string(from: self)
|
||
|
||
return (y, mo, d, h, m, s)
|
||
}
|
||
|
||
|
||
/// 获取时间字符串
|
||
/// - Parameter dateFormat: 自定义日期格式(如:yyyy-MM-dd HH:mm:ss)
|
||
/// - Returns: 时间字符串
|
||
func getStringTime(dateFormat: String) -> String {
|
||
let dateformatter = DateFormatter()
|
||
dateformatter.dateFormat = dateFormat
|
||
return dateformatter.string(from: self)
|
||
}
|
||
|
||
}
|