如何将日期类型变量设置为初始值?

时间:2019-03-18 06:26:18

标签: swift date

我找不到将Date类型的变量设置为初始值或空值的方法(不使用用户定义的初始值,例如'0001/01/01')。

像String类型可以将String.init()或“”设置为其值,因此可以使用isEmpty()确定其为空,但是如何使用Date类型变量来做到这一点?

4 个答案:

答案 0 :(得分:1)

这取决于您要完成的工作。

自然地,没有日期。

  • 如果日期值无关,则将其与当前日期声明

    let date = Date()
    
  • 如果应该在遥远的过去或将来不确定日期,则有

    let date = Date.distantPast
    
    let date = Date.distantFuture
    
  • 如果日期可以是特定日期,请使用参考日期

    let date = Date(timeIntervalSince1970: 0) // 1970/1/1
    
    let date = Date(timeIntervalSinceReferenceDate: 0) // 2001/1/1
    

答案 1 :(得分:0)

您可以通过其默认构造函数初始化Date对象。

var date = Date()  

上面的行将使用当前日期初始化date对象。
希望这会有所帮助

答案 2 :(得分:0)

您可以声明Date = nil 这意味着当我们为

之类的数据分配值时
var date = Date() // means its current data

或其他

使用以下代码从字符串格式设置日期

let dateFormatterGet = DateFormatter()
dateFormatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss"

let dateFormatterPrint = DateFormatter()
dateFormatterPrint.dateFormat = "MMM dd,yyyy"

if let date = dateFormatterGet.date(from: "2016-02-29 12:24:26") {
    print(dateFormatterPrint.string(from: date))
} else {
   print("There was an error decoding the string")
}

我希望这对您有帮助

答案 3 :(得分:0)

显而易见的答案是,没有空的Date

String具有3种可能的状态:

  1. 有一些字符串,例如"abc"
  2. 有一个空字符串,即""
  3. 没有字符串,即nil

对于字符串,情况2和3通常可以互换。这意味着我们可以使用空字符串或nil来表示相同的含义。

没有空的Date值,因此,如果要在没有Date的情况下表示状态,则必须使用 nil。< / p>

var date: Date? = nil