【发布时间】:2019-07-02 02:54:05
【问题描述】:
我可以以这种格式打印日期:2018 年 3 月 19 日星期一,但我不确定如何以这种格式获取星期几。
请帮忙
【问题讨论】:
-
星期几是什么意思?
-
喜欢“星期二”。
我可以以这种格式打印日期:2018 年 3 月 19 日星期一,但我不确定如何以这种格式获取星期几。
请帮忙
【问题讨论】:
let dateFormatter = DateFormatter()
// uncomment to enforce the US locale
// dateFormatter.locale = Locale(identifier: "en-US")
dateFormatter.setLocalizedDateFormatFromTemplate("EEE MMM d yyyy")
print(dateFormatter.string(from: Date())) // "Tue, Mar 20, 2018" for en-US locale
请注意,我使用模板来提供准确的格式,因此该格式将在每种语言中正确本地化。
【讨论】:
获取特定日期的日期:
let customDateFormatter = DateFormatter()
print(customDateFormatter.weekdaySymbols[Calendar.current.component(.weekday, from: Date())])
// "星期三"
【讨论】:
而不是需要拼出日期格式。我会进一步简化为:
dateFormatter.dateStyle = .full
或者,如果您只是想要这一天:
dateFormatter.dateFormat = "EEEE"
【讨论】:
使用 swift 4
func timeStamp()->String {
let dateFormater = DateFormatter()
dateFormater.locale = Locale(identifier: "en-US")
dateFormater.setLocalizedDateFormatFromTemplate("EEE MMM d yyyy")
return dateFormatter.string(from: Date())
}
使用它。
let getTimeStamp = timeStamp()
print(getTimeStamp)
【讨论】:
Mon 预期在哪里??
NSDateFormatter,也不要通过盗版其他人来改进你的答案。 ?
dateFormatter.dateFormat = "EEE, MMM dd, yyyy"
对于字母表中的星期日期,您使用 EEEE 或类似于 MMM 和 yyyy 的 EEE 来表示月份。
【讨论】:
get the Day of the week in this format怎么样
更改日期的最佳方法是遵循此方法。
func ChangeDateFormat(date:String,FromFormat: String, ToFormat: String) -> String {
let dateFormatter1 = DateFormatter()
dateFormatter1.dateFormat = FromFormat
let myDate = dateFormatter1.date(from: date)
dateFormatter1.dateFormat = ToFormat
if(myDate != nil){
let Date = dateFormatter1.string(from: myDate!)
return Date
}
else{
return ""
}
}
然后你可以像这样使用这个方法
String(ChangeDateFormat(date: StartDate, FromFormat: "yyyy-MM-dd hh:mm:ss a", ToFormat: "MMM d, yyyy"))
您可以传递您的日期格式,在您的情况下应该采用哪种格式
String(ChangeDateFormat(date: StartDate, FromFormat: "Pass your date format", ToFormat: "EEE MMM d, yyyy"))
【讨论】:
if let 或guard let。另外请使用 swift 命名约定,而不是其他语言的约定。