如何创建Swift Date对象?
如何从Swift XCode中的日期创建日期对象。
例如在JavaScript中,你会做: var day = new Date('2014-05-20');
回答:
雨燕有自己的Date
类型。无需使用NSDate
。
在Swift中创建日期和时间
在Swift中,日期和时间存储在64位浮点数中,该浮点数用于测量自2001年1月1日UTC的参考日期以来的秒数。这在Date
结构中表示出来。以下内容将为您提供当前日期和时间:
let currentDateTime = Date()
若要创建其他日期时间,可以使用以下方法之一。
如果您知道2001年参考日期之前或之后的秒数,则可以使用该秒数。
let someDateTime = Date(timeIntervalSinceReferenceDate: -123456789.0) // Feb 2, 1997, 10:26 AM
当然,使用诸如年,月,日和小时(而不是相对秒)之类的方法来制作会更容易Date
。为此,您可以用于DateComponents
指定组件,然后Calendar
创建日期。在Calendar
给出了Date
上下文。否则,它将如何知道用哪个时区或日历表示?
// Specify date componentsvar dateComponents = DateComponents()
dateComponents.year = 1980
dateComponents.month = 7
dateComponents.day = 11
dateComponents.timeZone = TimeZone(abbreviation: "JST") // Japan Standard Time
dateComponents.hour = 8
dateComponents.minute = 34
// Create date from components
let userCalendar = Calendar.current // user calendar
let someDateTime = userCalendar.date(from: dateComponents)
其他时区缩写可以在此处找到。如果您将其留空,则默认值为使用用户的时区。
最简洁的方式(但不一定是最好的方式)可以使用DateFormatter
。
let formatter = DateFormatter()formatter.dateFormat = "yyyy/MM/dd HH:mm"
let someDateTime = formatter.date(from: "2016/10/08 22:31")
在统一的技术标准表明其他格式是DateFormatter
支持的。
笔记
请参阅我的完整答案,以了解如何以可读格式显示日期和时间。还请阅读以下优秀文章:
- 如何在Swift 3中使用日期和时间,第1部分:日期,日历和DateComponents
- 如何在Swift 3中使用日期和时间,第2部分:DateFormatter
- 如何在Swift 3中使用日期和时间,第3部分:日期算术
以上是 如何创建Swift Date对象? 的全部内容, 来源链接: utcz.com/qa/422295.html