【发布时间】:2019-04-03 09:02:55
【问题描述】:
我想获取 iOS 中唯一的日期而不是时间 我的代码是
extension Date{
var DateInDate: Date{
let formatter = DateFormatter()
formatter.setLocalizedDateFormatFromTemplate("yyyy-MM-dd")
formatter.locale = Locale(identifier: "en_IN")
let dateInString = formatter.string(from: self)
return formatter.date(from: dateInString)!
}
}
如果我按照上述格式进行操作,我得到的答案是“2019 年 4 月 3 日凌晨 12:00”
我的其他代码是
extension Date{
var DateInDate: String{
let formatter = DateFormatter()
formatter.dateStyle = .short
formatter.timeStyle = .none
formatter.setLocalizedDateFormatFromTemplate("yyyy-MM-dd")
formatter.locale = Locale(identifier: "en_IN")
let dateInString = formatter.string(from: self)
}
}
但是通过这种方式,我得到的是字符串格式而不是日期格式
我想要日期格式的答案
【问题讨论】:
-
一个
Date对象代表一个特定的时间点。所以你不能只丢弃它的小时/分钟/秒部分。您真正想要实现的目标是什么? -
时间是日期对象的一部分,您无法将其删除,但如果需要,您可以将其设为
00:00,但在此之前,您应该确认您正在做您真正想做的事情. -
可以根据我的位置说今天是 2019 年 4 月 3 日,我只是希望不是像 2019 年 4 月 3 日 16:00:43 这样的时间,因为我的应用程序正在存储特定日期的数据而不是时间
-
我认为你不需要返回一个
Date,而是从formatter.string(from: self)返回一个String。 -
在第一个代码中,我只返回日期,它还有时间
标签: ios swift date dateformatter