DateFormatter 返回有效字符串
Posted
技术标签:
【中文标题】DateFormatter 返回有效字符串【英文标题】:DateFormatter Returning with Valid String 【发布时间】:2019-06-28 14:37:50 【问题描述】:我的字符串中的日期总是为零,我不知道为什么。
func getBirthdate() -> Date?
let formatter = DateFormatter()
formatter.dateFormat = "MM/dd/yyyy"
formatter.dateStyle = .medium
formatter.timeStyle = .none
print(self.dob!)
let birthdate = formatter.date(from: self.dob!)
return birthdate
self.dob:
05/01/1984
【问题讨论】:
dateStyle
和 `timeStyle` 正在覆盖您的格式。删除它们。
【参考方案1】:
您应该设置.dateFormat
或.dateStyle
/.timeStyle
。
它们是互斥的,当您设置 .dateStyle
时,您会将 .dateFormat
重置为预设日期格式之一。
所以,应该是:
func getBirthdate() -> Date?
let formatter = DateFormatter() // Also, you should move initialisation out and reuse `DateFormatter`
formatter.dateFormat = "MM/dd/yyyy"
print(self.dob!)
let birthdate = formatter.date(from: self.dob!)
return birthdate
【讨论】:
以上是关于DateFormatter 返回有效字符串的主要内容,如果未能解决你的问题,请参考以下文章
使用 DateFormatter().date(from: String) 时返回的日期格式化程序
您可以使用 Swift DateFormatter 获取 Date 对象,对其进行格式化,然后将其作为 Date 对象返回吗?