Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift-将24小时格式转换为12小时时间格式_Swift_Xcode_Time - Fatal编程技术网

Swift-将24小时格式转换为12小时时间格式

Swift-将24小时格式转换为12小时时间格式,swift,xcode,time,Swift,Xcode,Time,我正在用Swift构建一个应用程序,从API获取数据,然后以更吸引人/用户可读的格式显示数据 API以24小时格式返回表示时间的Int,如下所示: 2200 所以,我想做的是这样的转换: 2100 -> 9:00pm 有人知道如何在Swift中实现这一点吗?您可以使用 让date=date()//也在这里传递日期。 let formatter=DateFormatter() formatter.dateFormat=“hh:mm a” let time=formatter.stri

我正在用Swift构建一个应用程序,从API获取数据,然后以更吸引人/用户可读的格式显示数据

API以24小时格式返回表示时间的Int,如下所示:

2200
所以,我想做的是这样的转换:

2100  ->  9:00pm
有人知道如何在Swift中实现这一点吗?

您可以使用

让date=date()//也在这里传递日期。
let formatter=DateFormatter()
formatter.dateFormat=“hh:mm a”
let time=formatter.string(from:date)

希望有帮助

你自己做过研究吗?这里有几种可能的方法,一种是使用DateComponents和DateComponents格式。在解析日期字符串后,您可以使用此帖子显示日期或反映用户设备区域设置和设置的时间。这是一种12小时格式,但会涉及许多问题。其中一个是前导零,但除此之外还有更多的问题。同意他的服务器应该以一种格式发送时间,他可以首先将时间转换为一个合适的日期字符串(可以通过日期理解)然后传入上面的func来完成。我正在考虑将日期格式化程序的区域设置设置为en_US_POSIX,以避免它反映设备的区域设置和设置。您还应该将其日历设置为iso8601。请注意,OP询问如何以更吸引人/用户可读的格式显示它。你的回答不管用。OP要求的正确方法是使用
DateFormatter
timeStyle
显示它,使用用户设备区域设置和设置进行本地化,而不是如您的帖子中所示设置固定的
dateFormat
。请看这篇帖子