Ios 在“中显示日期”;",&引用;“第&引用;rd";及;";格式
我必须以不同的格式显示日期 例如。 7月21日Ios 在“中显示日期”;",&引用;“第&引用;rd";及;";格式,ios,ios7,ios8,nsdateformatter,Ios,Ios7,Ios8,Nsdateformatter,我必须以不同的格式显示日期 例如。 7月21日 我找不到任何东西可以将我的日期转换为这种格式。如果有人知道,请帮助我。您可以使用NSDateFormatter显示您的NSDate。它具有dateStyle和timeStyle等属性,可以轻松更改这些属性以获得所需的格式。如果您需要更大的灵活性,还可以使用dateFormat属性 let formatter = NSDateFormatter() formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:
我找不到任何东西可以将我的日期转换为这种格式。如果有人知道,请帮助我。您可以使用NSDateFormatter显示您的NSDate。它具有dateStyle和timeStyle等属性,可以轻松更改这些属性以获得所需的格式。如果您需要更大的灵活性,还可以使用dateFormat属性
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
formatter.stringFromDate(NSDate())
Swift
extension Date {
func dateFormatWithSuffix() -> String {
return "dd'\(self.daySuffix())' MMMM yyyy"
}
func daySuffix() -> String {
let calendar = Calendar.current
let components = (calendar as NSCalendar).components(.day, from: self)
let dayOfMonth = components.day
switch dayOfMonth {
case 1, 21, 31:
return "st"
case 2, 22:
return "nd"
case 3, 23:
return "rd"
default:
return "th"
}
}
}
示例
let date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = date.dateFormatWithSuffix()
print(dateFormatter.string(from: date))
// Output for current date: 22nd May 2019
标签当前将设置为5月25日此标签的可能副本与语言无关。您可以将
NumberFormatter
与一起使用。numberStyle=ordinal
但是有些语言也不希望在日期中使用序数样式。@jowie您是对的!我回答了关于“st”、“nd”、“rd”和“th”的主要问题。对于其他语言,它是复杂的)
func setCurrentDate() {
let date = Date()
// Use this to add st, nd, th, to the day
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .ordinal
numberFormatter.locale = Locale.current
//Set other sections as preferred
let monthFormatter = DateFormatter()
monthFormatter.dateFormat = "MMM"
// Works well for adding suffix
let dayFormatter = DateFormatter()
dayFormatter.dateFormat = "dd"
let dayString = dayFormatter.string(from: date)
let monthString = monthFormatter.string(from: date)
// Add the suffix to the day
let dayNumber = NSNumber(value: Int(dayString)!)
let day = numberFormatter.string(from: dayNumber)!
yourDateLabel.text = "\(day) \(monthString)"
}