Swift 在未来创造时间
我是Swift新手,不太熟悉日期和时间课程。我想制作一个类型为Swift 在未来创造时间,swift,date,Swift,Date,我是Swift新手,不太熟悉日期和时间课程。我想制作一个类型为Date的对象,它指的是未来的某个时间(比如几个小时)。 我不确定这是否是UNIX时间戳 ? < P> SWIFT 日期(或 NSDATE >是基础框架中的一个类。根据文件: 日期结构提供了比较日期、计算 两个日期之间的时间间隔,以及从 相对于其他日期的时间间隔。结合使用日期值 使用DateFormatter实例创建的本地化表示形式 日期和时间,并使用日历实例执行日历 算术。 因此,您希望使用Calendar类进行日期转换。像这样的
Date
的对象,它指的是未来的某个时间(比如几个小时)。
我不确定这是否是UNIX时间戳
<如何>? < P> SWIFT <代码>日期<代码>(或<代码> NSDATE <代码> >是基础框架中的一个类。根据文件:
日期结构提供了比较日期、计算
两个日期之间的时间间隔,以及从
相对于其他日期的时间间隔。结合使用日期值
使用DateFormatter实例创建的本地化表示形式
日期和时间,并使用日历实例执行日历
算术。
因此,您希望使用Calendar
类进行日期转换。像这样的东西应该可以完成这项工作:
func getDateTimeForHoursInTheFuture(hours: Int) -> Date {
var components = DateComponents();
components.setValue(hours, for: .hour);
let date: Date = Date();
let expirationDate = Calendar.current.date(byAdding: components, to: date);
return expirationDate!;
}
当然,它可以改为以分钟和秒而不是小时工作
您可以使用以下命令格式化输出:
extension Date {
func toDateTimeString() -> String {
let formatter = DateFormatter();
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss";
let myString = formatter.string(from: self);
return myString;
}
}
只需调用
getDateTimeForHoursInTheFuture
函数的结果上的toDateTimeString()
方法。不需要任何代码>在Swift中。整个getDateTimeForHoursInTheFuture
可以用一行书写:返回日历.current.date(通过添加:.hour,值:hours,to:date())代码>@rmaddy是。你说得对。但我认为我的版本对初学者来说更为明显。