【发布时间】:2019-07-16 01:26:28
【问题描述】:
我创建了一个 convertDate 类,用于转换我的时间戳,即 Date().sinceReferenceDate(即从 2001 年 1 月 1 日凌晨 12:00 开始)。我有一个问题:当时间戳的日期超过 3 周前,我使用日期格式(月、日、年(如果早于当年)),但问题是如果一天不超过 10,那么这一天看起来像这样:01,02,03(7 月 1 日,7 月 2 日)等,而我需要它是 1,2,3(7 月 1 日,7 月 2 日)。我一直找不到解决方案,这是我的代码:
let nowTime = Date.timeIntervalSinceReferenceDate
let finalTime = nowTime - mediaTimestamp //how long ago in seconds...
//For timestamp coverting below
print(mediaTimestamp, "<-- datfasfePass")
let timeToModify = Date(timeIntervalSinceReferenceDate: mediaTimestamp)
let formatter = DateFormatter()
formatter.dateFormat = "MMM dd, yyyy"
//Below is for excluding the 2019 if the current year is 2019
let formatterForYear = DateFormatter()
formatterForYear.dateFormat = "yyyy"
let currentYear = "2019" //this is hardcoded right now
let finalYearDetermine = formatterForYear.string(from: timeToModify)
let currentFormatterYear = finalYearDetermine
print(currentFormatterYear, "<-- currentFormatterYear")
var finalDate = formatter.string(from: timeToModify)
if currentYear == finalYearDetermine {
//then its currently 2019 whitch means we exclude the 2019
formatter.dateFormat = "MMM dd"
finalDate = formatter.string(from: timeToModify)
} else {
//do nothing to dateformtter
}
finalDateString = "\(finalDate)"
【问题讨论】:
-
您应该考虑使用设备区域设置来确定日期格式,而不是假设您的首选方式适合所有人。
-
@JoGoFo 是的,你是对的......你会如何建议继续这样做? (谢谢)
标签: ios swift nsdate nsdateformatter