swift 使用DateFormatter显示日序的解决方法(Ex:`1st` February)的Playground(快速代码)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 使用DateFormatter显示日序的解决方法(Ex:`1st` February)的Playground(快速代码)相关的知识,希望对你有一定的参考价值。


//----------------------------------------------------------
// NOTE:
// Paste this files content to a playground to experiment
//----------------------------------------------------------

import UIKit


func dateStr(_ format: String, date: Date = Date())-> String {
    let formatter = DateFormatter()
    formatter.dateFormat = format
//    let date = Date()
    var str = formatter.string(from: date)
    if str.contains("<dth>") {
        str = str.replacingOccurrences(of: "<dth>", with: ordinal(for: date))
    }
    return str
}

func ordinal(for date: Date) -> String {
    let num = NumberFormatter()
    num.numberStyle = .ordinal
    let day = Calendar.current.component(.day, from: date)
    let ordinal = num.string(from: NSNumber(value: day)) ?? ""
    return ordinal
}

//dateStr("y/MM/dd '<dth>' B")



let formatter = DateFormatter()
formatter.dateFormat = "MM dd yy"
let dt = formatter.date(from: "01 1 17")!

dateStr("'<dth>' MMMM, yyyy", date: dt)


//for ch in "abcdefghijklmnopqrstuvwxyz".characters {
//    let str = String([ch])
//    for m in 1..<10 {
//        var s = str.padding(toLength: m, withPad: str, startingAt: 0)
//        print("\(m): \(s) \(dateStr(s))")
//    }
//    print("")
//}

以上是关于swift 使用DateFormatter显示日序的解决方法(Ex:`1st` February)的Playground(快速代码)的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中使用 DateFormatter 和 TimeZone 来格式化日期

在 Swift 3.1 中使用 DateFormatter 正确构建 dateFormat 以解析时间

DateFormatter 中的 Swift 语言错误? [复制]

DateFormatter 不转换特定日期 (Swift)

Swift 5 - 无法解释的 DateFormatter 崩溃

Swift:DateFormatter 返回 nil