Swift-将24小时格式转换为12小时时间格式
我正在用Swift构建一个应用程序,从API获取数据,然后以更吸引人/用户可读的格式显示数据 API以24小时格式返回表示时间的Int,如下所示: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
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
。请看这篇帖子