ios - 如何在 iOS/Swift 中处理时区的时间间隔

标签 ios swift

我是 iOS 世界的新手,正在尝试学习如何处理日期和时间。

想象一下我有一家类(class)商店。商店有时间间隔,代表一周中每一天的开门和关门时间。

一些上下文数据(来自数据库的示例字符串,GMT 时区):

Monday: "08:00:00-13:00:00, 15:00:00-18:00:00"
Tuesday:"09:00:00-13:00:00, 15:00:00-19:00:00"
Wednesday: "15:00:00-23:59:59"
Thursday: "00:00:00-08:00:00"
etc..

例如,星期一必须存储 2 个时间间隔。

我的问题是如何在类中存储这些数据(DateIntervals数组?TimeIntervals?或其他更合适的类?)并获取当前时间来检查商店是否打开。

最佳答案

iOS(和 Mac OS)的 native 日期格式是 Date 对象。 Date 对象表示即时时间,与时区无关。然后,您可以使用 DateFormatter 将日期转换为特定时区的字符串表示形式。

不过,就您而言,您需要表示一周中不同日期的计时器范围。

您应该阅读 Xcode 文档中的 Calendar 类引用。特别令人感兴趣的是 date(bySetting:value:of:) 方法,它允许您从给定日期开始并通过更改各种日期组件的值来计算新日期。

关于ios - 如何在 iOS/Swift 中处理时区的时间间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47241880/

相关文章:

ios - 如何为 Swift 实现 AVCam

iOS、SQLite : can't read from the DB

ios - 如何以编程方式使电影播放器​​居中?

ios - 在发出任何请求之前验证服务器身份

ios - Swift3 框架模块为空

ios - 如何将 URLSessionStreamTask 与 URLSession 一起用于分块编码传输

ios - 在 swift 4 上单击 UIWebview 上的播放视频时出错

ios - 如何让 titleView 在推送/弹出转换期间保留在 UINavigationBar 中,如 Facebook 应用程序?

ios - 如何使用 Swift 更改 UIButton 的字体

ios - 从 swift 派生的 obj-c 类的类别