2021-06-01 08:31:31 +02:00
|
|
|
//
|
|
|
|
// Date.swift
|
|
|
|
// Mastodon
|
|
|
|
//
|
|
|
|
// Created by MainasuK Cirno on 2021-6-1.
|
|
|
|
//
|
|
|
|
|
|
|
|
import Foundation
|
|
|
|
import DateToolsSwift
|
|
|
|
|
|
|
|
extension Date {
|
|
|
|
|
2021-08-09 09:14:08 +02:00
|
|
|
static let relativeTimestampFormatter: RelativeDateTimeFormatter = {
|
|
|
|
let formatter = RelativeDateTimeFormatter()
|
|
|
|
formatter.dateTimeStyle = .numeric
|
|
|
|
formatter.unitsStyle = .abbreviated
|
|
|
|
return formatter
|
|
|
|
}()
|
|
|
|
|
|
|
|
var localizedSlowedTimeAgoSinceNow: String {
|
|
|
|
return self.localizedSlowedTimeAgo(since: Date())
|
2021-06-01 08:31:31 +02:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2021-08-09 09:14:08 +02:00
|
|
|
func localizedSlowedTimeAgo(since date: Date) -> String {
|
2021-06-01 08:31:31 +02:00
|
|
|
let earlierDate = date < self ? date : self
|
2021-08-09 09:14:08 +02:00
|
|
|
let latestDate = earlierDate == date ? self : date
|
2021-06-01 08:31:31 +02:00
|
|
|
|
2021-08-09 09:14:08 +02:00
|
|
|
if earlierDate.timeIntervalSince(latestDate) >= -60 {
|
2021-06-01 08:31:31 +02:00
|
|
|
return L10n.Common.Controls.Timeline.Timestamp.now
|
|
|
|
} else {
|
2021-08-09 09:14:08 +02:00
|
|
|
return Date.relativeTimestampFormatter.localizedString(for: earlierDate, relativeTo: latestDate)
|
2021-06-01 08:31:31 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-08-09 09:14:08 +02:00
|
|
|
func timeLeft() -> String {
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
2021-06-01 08:31:31 +02:00
|
|
|
}
|