繁体   English   中英

如何以12小时格式将日期和时间从UIDatePicker设置为UITextField

[英]How to set Date and time from UIDatePicker to UITextField in 12 hours format

如果系统日期为24小时格式。 我想将AM / PM设置为12小时格式的选定日期和时间到文本字段作为输入视图。 我正在尝试转换选定的日期和时间,但给了我24小时格式。 谁能帮帮我吗。 这是我的转换代码:

    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd HH:mm"
    let dateAsString = dateFormatter.string(from: datePickerView.date)

    dateFormatter.dateFormat = "yyyy-MM-dd h:mm a"
    let date = dateFormatter.date(from: dateAsString)
    let DateIn12 = dateFormatter.string(from: date!)
    print("12 hour formatted Date:", DateIn12)

您似乎在这里做不必要的工作。

鉴于您已经有一个约会,这应该可以:

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd h:mm a"
let date12 = dateFormatter.string(from: datePickerView.date)
print("12 hour formatted Date:", date12)

您可以从日期选择器的日期值中获取所需的任何格式的日期。 这里有一些选项可能会有所帮助。

let datePickerView = UIDatePicker()
datePickerView.date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd h:mm a"
var dateAsString = dateFormatter.string(from: datePickerView.date)
print(dateAsString)
dateFormatter.dateFormat = "MMM-yy-dd HH:mm"
dateAsString = dateFormatter.string(from: datePickerView.date)
print(dateAsString)

这给

2017-09-18 1:18 PM
Sep-17-18 13:18

您不需要代码的后半部分。

您需要在dateformatter中传递datepickerview.date。 尝试这个

let dateFormatter = DateFormatter()
print("Date:=\(datePickerView.date)")
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss a"
let DateIn12 = dateFormatter.string(from: datePickerView.date)  
print("12 hour formatted Date:", DateIn12)

dateFormat =“ yyyy-MM-dd h:mm a”

要以24小时格式获取时间,格式化程序中使用大写的“ H”,而小写的“ h”则以12小时的格式显示时间。

因此,您可以随时记住这一点,随时创建dateformatter。

谢谢。

用以下代码替换您的代码以将24小时日期转换为12小时格式

   let formatter = DateFormatter()
    //Formatter "yyyy-MM-dd HH:mm a" for 24 hours time
    // "yyyy-MM-dd hh:mm a" for 12 hours time
    // So you need to write only
    formatter.dateFormat = "yyyy-MM-dd hh:mm a"
    let twelveHourDate = formatter.string(from: datePickerView.date)
    print("12 hour format date is \(twelveHourDate)")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM