使用月末数据时,Swift日期格式会更改为下个月吗?

时间:2019-10-13 10:55:31

标签: swift

我按月末日期居住,例如“ 2019-02-28 23:59:59”

当我打印出该日期时,

print会告诉我“ 2019年3月”。不,它仍然是“ Feb-2019”

print(dt1.toString(dateFormat: "MMM-YYYY")

我确实使用SwiftDate。我也遇到了DateFormatter()这个问题。

因此,我最终不得不减去一天以获取正确的月-年,而不是干净的代码。

为什么?

1 个答案:

答案 0 :(得分:3)

您需要按照以下说明正确设置Timezonedate格式,

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