【问题标题】:How to add daySuffix to day using dateformatter in Swift [duplicate]如何在 Swift 中使用 dateformatter 添加 daySuffix [重复]
【发布时间】:2022-02-16 20:11:57
【问题描述】:

我正在使用以下代码获取 daySuffix

func daySuffix(from date: Date) -> String {
let calendar = Calendar.current
let dayOfMonth = calendar.component(.day, from: date)
switch dayOfMonth {
case 1, 21, 31: return "st"
case 2, 22: return "nd"
case 3, 23: return "rd"
default: return "th"
}
}

我正在使用DateFormatter 在标签中显示 JSON 日期,如下所示。在这段代码中因为dateFormatter.dateFormat = "dd'th' MMMM, yyyy"这一行的所有后缀我只得到th如何使用daySuffix方法迄今为止,请有人指导我

let fromDateString = enquiryData.from_date//vale from JSON

var fromDate: String?

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"

let date1 = dateFormatter.date(from: fromDateString!)
if let date1 = date1 {

dateFormatter.dateFormat = "dd'th' MMMM, yyyy"
fromDate = dateFormatter.string(from: date1)

dateLbl.text = fromDate ?? ""
}

// prints exact day suffix
let testDate = daySuffix(from: date1!)
print("daySuffix value \(testDate)")// this prints exact suffix

如果我在这里打印 let testDate = daySuffix(from: date1!) print("daySuffix value \(testDate)") 打印精确的后缀,但我如何添加后缀到日期

【问题讨论】:

    标签: ios swift date-format suffix


    【解决方案1】:

    使用日期格式化程序时,'' 中的所有字符都将被忽略并保持未格式化。所以你只需要这样做

    dateFormatter.dateFormat = "dd'\(daySuffix(from: date1))' MMMM, yyyy"
    

    或者这对你不起作用?

    【讨论】:

    • @User123 超出范围但更好的是"dd'\(daySuffix(from: date1)) 'MMMM', 'yyyy" 注意为其他部分添加''。它不应该影响您的输出,因为空格和逗号会被忽略。但为了安全起见,最好始终使用''
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    相关资源
    最近更新 更多