Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Swift 3中保存日期组件_Swift - Fatal编程技术网

在Swift 3中保存日期组件

在Swift 3中保存日期组件,swift,Swift,我很难节省时间。让我给你们看一个截图,它将清楚地说明我在这里想要实现什么 我将一天保存为Int,并从中创建一个新的日期,该日期将被处理。唯一缺少的是给那个日期加上时间。如何在约会中保存AM或PM 此外,这是否会影响在iPhone中使用24小时服务的用户?如果我节省晚上9点,他们的系统会知道我对他们来说真的是21小时吗 好吧,我忘了密码了,这是: 这是一段我正在安排通知的代码 let calendar = Calendar.autoupdatingCurrent guard l

我很难节省时间。让我给你们看一个截图,它将清楚地说明我在这里想要实现什么

我将一天保存为
Int
,并从中创建一个新的日期,该日期将被处理。唯一缺少的是给那个日期加上时间。如何在约会中保存AM或PM

此外,这是否会影响在iPhone中使用24小时服务的用户?如果我节省晚上9点,他们的系统会知道我对他们来说真的是21小时吗

好吧,我忘了密码了,这是: 这是一段我正在安排通知的代码

let calendar = Calendar.autoupdatingCurrent

        guard let lastPeriod = RealmManager.sharedInstance.queryLastPeriod(), let predictionDate = lastPeriod.predictionDate else {
            return
        }

        let day = predictionDate.day - DefaultsManager.getNotificationDays()

        let newComponents = DateComponents(calendar: calendar, timeZone: .current, year: predictionDate.year, month: predictionDate.month, day: day, hour: time, minute: 0)

正如您所看到的,
hour
部分的
newComponents
非常棘手。我只需要提供是上午9点,上午12点还是晚上9点。我该怎么做?(顺便说一句,
time
只是一个
Int
我正在手动输入测试)

据我所知,您使用的是24小时制(还有什么?)

这是正确的,因为我当前的时区是CET(UTC+1)

您可以使用
DateFormatter
以不同格式打印日期。例如:

let df = DateFormatter()
df.dateStyle = DateFormatter.Style.short
df.timeStyle = DateFormatter.Style.short
df.string(from: d!)
//> R4: String = "11/01/16 14:20"
回到我的时区

DateFormatter
还有一个方法
date(from:String)
可用于解析日期:

df.date(from: "11/01/16 14:20")
//> R5: Date? = 2016-01-11 13:20:00 UTC

您必须使用
日历
和/或
日期格式化程序
的设置才能获得12小时样式的输出。在输入站点上,您可以将
xxAM
映射到
Int(“xx”)
xxPM
12+Int(“xx”)

你说的“保存”是什么意思?您是否将其存储在用户默认值中?向我们展示一段代码,以便我们可以帮助您
日期
是一个日期。一个固定的时间点,无论时区、是否显示为24小时时钟或带有AM PM指示器。我添加了我的代码!谢谢你提醒我…约会本身没有上午或下午。21:00是时间,而不是“9PM”-您是将21:00显示为“21h”还是“9PM”只是显示的问题。因此,如果我硬编码21,它将适用于具有12小时首选项的手机?
df.date(from: "11/01/16 14:20")
//> R5: Date? = 2016-01-11 13:20:00 UTC