在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