如果系统日期为24小时格式。我想以12小时格式将选定的日期和时间设置为AM / PM到textfield作为输入视图。我试图转换选定的日期和时间,但它给我24小时格式。谁能帮帮我吗。这是我的转换代码:
user_service_details
答案 0 :(得分:1)
你似乎在这里做了不必要的工作。
鉴于你已经有了约会,这应该有效:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd h:mm a"
let date12 = dateFormatter.string(from: datePickerView.date)
print("12 hour formatted Date:", date12)
答案 1 :(得分:0)
您可以从日期选择器的日期值中获取所需的任何格式的日期。 以下是一些可能有用的选项。
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
您不需要代码的后半部分。
答案 2 :(得分:0)
您需要在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)
答案 3 :(得分:0)
dateFormat =" yyyy-MM-dd h:mm a"
在24小时内获得大写时间" H"用于格式化程序 而小写" h"为您提供12小时格式的时间。
因此,您可以自己创建dateformatter,并牢记这一点。
感谢。
答案 4 :(得分:-1)
替换您的代码,将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)")