首页 > 解决方案 > Swift:iOS Datepicker yyyy vs yy

问题描述

我有一个带有两个 UITableViewCells 的 UITableView,每个都使用一个 UIDatePicker。

有时,年份格式为 yy,有时为 yyyy。我想不通,为什么。

有没有机会强迫yyyy?

谢谢。

通过 cellForRowAt (snippet) 创建:

let cell = UITableViewCell(style: .default, reuseIdentifier: "pickerCell")
    
cell.selectionStyle = .none
cell.textLabel?.text = NSLocalizedString("DetailView.detailCell.arrival.label", comment: "")
    
let arrivalPicker = UIDatePicker()

arrivalPicker.preferredDatePickerStyle = .compact
arrivalPicker.datePickerMode = .dateAndTime

if errorText != "" {
    arrivalPicker.tintColor = .systemRed
}
else {
        arrivalPicker.tintColor = .systemBlue
}
    
cell.accessoryView = arrivalPicker
    
return cell

在此处输入图像描述

标签: iosswiftuidatepicker

解决方案


也许您应该尝试以下方法:

    let dateFormatter = DateFormatter()
    dateFormatter.dateStyle = .medium //set the option you prefer
    dateFormatter.timeStyle = .medium //set the option you prefer
    let date = Date()
    dateFormatter.locale = Locale(identifier: "en_UK") //set the identifier you prefer 

然后将单元格内容设置为dateFormatter.string(from: date)

这是文档: https ://developer.apple.com/documentation/foundation/dateformatter


推荐阅读