gpt4 book ai didi

swift - 将字符串转换为返回前一天的日期

转载 作者:可可西里 更新时间:2023-11-01 00:21:12 25 4
gpt4 key购买 nike

我在格式为“2017-03-14”(yyyy-MM-dd) 的字符串中有一个日期,我正在尝试将其转换为格式为“2017 年 3 月 14 日,星期二”的字符串。

这是我的代码:

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from: "2017-03-14")

现在如果我打印“date”的值,我得到这个:

2017-03-13 22:00:00 +0000

这只是前一天。这是为什么?

编辑:

我需要在格式化之前比较日期。

var newDateString : String = ""

let date2 = Date()

let comp = date2.compare(date!)

if comp.rawValue == 0 {
newDateString = "TONIGHT"
} else {
dateFormatter.dateFormat = "EEEE, MMMM d, yyyy"
newDateString = dateFormatter.string(from: date!)
}

谢谢

最佳答案

所需的格式应该是:

EEEE, MMMM dd, yyyy

您所要做的就是在您的代码之后添加以下代码片段:

dateFormatter.dateFormat = "EEEE, MMMM dd, yyyy"
let string = dateFormatter.string(from: date!) // "Tuesday, March 14, 2017"

备注:

我想建议做可选绑定(bind)来声明date,如下:

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"

if let date = dateFormatter.date(from: "2017-03-14") {
dateFormatter.dateFormat = "EEEE, MMMM dd, yyyy"
let string = dateFormatter.string(from: date) // "Tuesday, March 14, 2017"
}

关于swift - 将字符串转换为返回前一天的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42786812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com