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的时区处理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

程序员面试算法宝典

程序员面试算法宝典

猿媛之家 / / 机械工业 / 2018-09-01 / 69.0

一起来看看 《程序员面试算法宝典》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具