Swift的时区处理

栏目: Swift · 发布时间: 5年前

内容简介:以下是一个美国时间字符串,方便下面的转换原始字符串

以下是一个美国时间字符串,方便下面的转换

let src = "2018-12-12 10:48:46"
let timeZone = "GMT-05:00" // USA
let string = src + " " + timeZone
复制代码

原始字符串 src 为: 2018-12-12 10:48:46

3. 字符串转换成当前时区的时间

let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss ZZZZ"
let date = formatter.date(from: string)
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
formatter.string(from: date!)
复制代码

2018-12-12 23:48:46

当前系统是中国时区,故比美国快了13小时

4. 自动化时间样式(交由iOS API处理)

实战中会用 Locale.current.identifier 初始化 Locale ,以下为测试写死了几个常见时区。

  • 中国 :年月日 上下午 时间
let chineseLocaleFormatter = DateFormatter()
chineseLocaleFormatter.locale = Locale(identifier: "zh_CN")
chineseLocaleFormatter.dateStyle = DateFormatter.Style.medium
chineseLocaleFormatter.timeStyle = DateFormatter.Style.medium
chineseLocaleFormatter.string(from: date!) 
复制代码

2018年12月12日 下午11:48:46

  • 美国 :月日年 时间 上下午
let usLocaleFormatter = DateFormatter()
usLocaleFormatter.locale = Locale(identifier: "en_US")
usLocaleFormatter.dateStyle = DateFormatter.Style.medium
usLocaleFormatter.timeStyle = DateFormatter.Style.medium
usLocaleFormatter.string(from: date!) 
复制代码

Dec 12, 2018 at 11:48:46 PM

  • 英国 :日月年 时间(24小时制)
let ukLocaleFormatter = DateFormatter()
ukLocaleFormatter.locale = Locale(identifier: "en_GB")
ukLocaleFormatter.dateStyle = DateFormatter.Style.medium
ukLocaleFormatter.timeStyle = DateFormatter.Style.medium
ukLocaleFormatter.string(from: date!)
复制代码

12 Dec 2018 at 23:48:46


以上所述就是小编给大家介绍的《Swift的时区处理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序与法治

程序与法治

孙洪坤 / 中国检察 / 2008-3 / 28.00元

《程序与法治》是系统和全面地研究程序与法治国家建设思想的学术专著,《程序与法治》对程序与法治的若干重大理论与现实问题进行了深入的探讨,如:从法社会学的视角研究程序正义在中国的可适应性问题;程序正义的中国语境;正当程序的宪政价值与构造;正当程序的文化底蕴;中国刑事程序正当化设计的标准、设计的基调、设计的视角;等等。尽管其中某些问题的研究尚待进一步深入,但这些问题的提出有利于开阔我们研究程序法理论的视......一起来看看 《程序与法治》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具