gpt4 book ai didi

swift - 如何快速更改日期格式?

转载 作者:行者123 更新时间:2023-11-28 13:49:34 26 4
gpt4 key购买 nike

我得到了响应 json 并在标签中显示了日期,我应该更改格式日期。我使用了 swifty json 和 alamofire,这是我已经编写的代码:

函数 fetchDataHome() {

    DispatchQueue.main.async{
let url = ""
Alamofire.request(url, method: .post, parameters: parameter, encoding: URLEncoding.default).responseJSON { (response) in
switch response.result{
case .success(let value):
print(value)

let json = JSON(value)
let kuota1 = json["data"]["kuota1"]["jumlah"].stringValue
let kuota2 = json["data"]["kuota2"]["jumlah"].stringValue
let kuota3 = json["data"]["kuota3"]["jumlah"].stringValue

let kuota1Data = json["data"]["kuota1"]["tanggal"].stringValue
let kuota2Data = json["data"]["kuota2"]["tanggal"].stringValue
let kuota3Data = json["data"]["kuota3"]["tanggal"].stringValue

let kuotaHariIni = modelKuota.init(jumlah: kuota1 , tanggal: kuota1Data)
let kuotaBesok = modelKuota.init(jumlah: kuota2, tanggal: kuota2Data)
let kuotaLusa = modelKuota.init(jumlah: kuota3, tanggal: kuota3Data)

UserDefaults.standard.set(kuota1, forKey: "jumlah")
UserDefaults.standard.set(kuota1Data, forKey: "tanggal")

self.data.append(kuotaHariIni)
self.data.append(kuotaBesok)
self.data.append(kuotaLusa)

self.collectionView.reloadData()


case .failure(let error):
print(error)
}
}
}
}

这对于单元格 Collection View 单元格中的数据:

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "BerandaCollectionViewCell", for: indexPath) as! BerandaCollectionViewCell
let dataKuota = data[indexPath.row]

cell.jumlah.text = dataKuota.jumlah

cell.tanggal.text = dataKuota.tanggal


return cell
}

我从 json 得到的响应:

  28022019 (dd/MM/YYYY)

我的期望:

 28 February 2019

最佳答案

使用具有适当格式的 DateFormatterString 转换为 Date 并返回为 String

func processDate(string: String, fromFormat: String = "ddMMyyyy", toFormat: String = "dd MMMM yyyy") -> String? {
let formatter = DateFormatter()

formatter.dateFormat = fromFormat
guard let date = formatter.date(from: string) else { return nil }

formatter.dateFormat = toFormat
return formatter.string(from: date)
}

//using defaults formats of "ddMMyyyy" to "dd MM YYYY"
let s1 = processDate(string: "28022019") //28 February 2019

//using specific formats to match your input string
let s2 = processDate(string: "28-02-2019", fromFormat: "dd-MM-yyyy", toFormat: "dd MMMM yyyy") //28 February 2019

//invalid case, string and initial format don't match
let s3 = processDate(string: "28022019", fromFormat: "MM", toFormat: "MMMM") //nil

日期格式备忘单:http://nsdateformatter.com/

关于swift - 如何快速更改日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54879875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com