我想将用户生成的字符串转换为Date
数据类型。我希望时间是24小时格式
let dateFormatter = DateFormatter()
let timeAsString : String = "22:30"
dateFormatter.dateFormat = "HH:mm"
let timeFromString = dateFormatter.date(from: timeAsString)
结果:" 2000年1月1日晚上10:30 "
但结果是12小时格式。如何将22:30作为日期数据类型?
答案 0 :(得分:5)
答案 1 :(得分:1)
您的代码绝对正确,代码中没有问题。日期格式的字符串HH
表示24小时时间显示格式。
但是开发人员(应用程序)无法控制时间格式。您可以设置支持24小时时间的日期格式字符串,但如果用户已经(未启用)从设备获得24小时支持,那么它将显示12小时的时间。
检查您的模拟器/ mac系统/ iPhone设备时间格式并将其设置为24小时显示。
请参阅此苹果文档24小时时间支持:Date Formatters
时间的表示可能是13:00。但是,在iOS中,如果用户将24小时时间切换为关闭,则时间可能是下午1:00。
答案 2 :(得分:0)
func convertToString(of dateTo: Date) -> String {
let dateFormatter = CustomDateFormatter()
//Your New Date format as per requirement change it own
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let newDate: String = dateFormatter.string(from: dateTo) //pass Date here
// print(newDate) //New formatted Date string
return newDate
}