Swift的时区处理

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

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

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

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

查看所有标签

猜你喜欢:

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

软件架构设计

软件架构设计

温昱 / 电子工业出版社 / 2012-7 / 39.00元

《软件架构设计:程序员向架构师转型必备(第2版)》围绕“软件架构设计”主题,从“程序员”成长的视角,深入浅出地讲述了架构师的修炼之道。从“基础篇”、到“设计过程篇”、到“模块划分专题”,《软件架构设计:程序员向架构师转型必备(第2版)》覆盖了架构设计的关键技能项,并且对于架构设计过程中可能出现的各种问题给与了解答。一起来看看 《软件架构设计》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换