我按月末日期居住,例如“ 2019-02-28 23:59:59”
当我打印出该日期时,print会告诉我“ 2019年3月”。不,它仍然是“ Feb-2019”
print(dt1.toString(dateFormat: "MMM-YYYY")
我确实使用SwiftDate。我也遇到了DateFormatter()这个问题。
因此,我最终不得不减去一天以获取正确的月-年,而不是干净的代码。
为什么?
答案 0 :(得分:3)
您需要按照以下说明正确设置Timezone
和date
格式,
let string = "2019-02-28 23:59:59"
let df = DateFormatter()
df.timeZone = .current
df.dateFormat = "yyyy-MM-dd HH:mm:ss"
let date = df.date(from: string)
print(date?.description(with: .current)) //Thursday, February 28, 2019 at 11:59:59 PM Gulf Standard Time
df.dateFormat = "MMM-yyyy"
print(df.string(from: date!)) // Feb-2019