gpt4 book ai didi

swift - 在 Swift 中将日期格式化为 sql 日期格式

转载 作者:行者123 更新时间:2023-11-28 13:30:25 26 4
gpt4 key购买 nike

我有一种方法可以快速将我的 SQL 日期转换为“MM-dd-yyyy, HH:mm”。我需要能够将其转换回“yyyy-MM-dd'T'HH:mm:ss”。这将采用服务器时间和东部时区。

转换为“MM-dd-yyyy, HH:mm”:

  static func dateView(_ DateString: String) -> String {
var returnDate = ""
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
let string = String(DateString)
if let date = dateFormatter.date(from: string) {
dateFormatter.dateStyle = .short
dateFormatter.timeStyle = .short
returnDate = dateFormatter.string(from: date)
}

return returnDate
}

尝试转换为“yyyy-MM-dd'T'HH:mm:ss”:

static func dateToSQLDate(_ DateString: String) -> String {
var returnDate = ""
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "MM/dd/yy HH:mm"
let string = String(DateString)
if let date = dateFormatter.date(from: string) {
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
//dateFormatter.timeStyle = .short
returnDate = dateFormatter.string(from: date)
}

return returnDate
}

例子是:

var date = "3/10/16, 10:00AM"
dateToSQLDate(date)
Expected Out: 2016-03-10T10:00:00

对我做错了什么有什么想法吗?

最佳答案

您的日期格式错误。

将字符串 "3/10/16, 10:00AM" 与日期格式 "MM/dd/yy HH:mm" 进行比较。存在三个问题:

  • 缺少逗号
  • 缺少 AM/PM 说明符 a
  • 12 小时制是 hh

static func dateToSQLDate(_ string: String) -> String {
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "MM/dd/yy, hh:mma"
guard let date = dateFormatter.date(from: string) else { return "" }
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
return dateFormatter.string(from: date)
}

关于swift - 在 Swift 中将日期格式化为 sql 日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57461463/

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