Swift DateFormatter提取时间

时间:2017-11-28 18:59:37

标签: xcode swift4 dateformatter

我一直想用时间来回复约会。我尝试了DateFormatter,但由于某种原因总是会检索完整的日期。

//Declare Date Formatter 1
let dateFormatter1 = DateFormatter()
    dateFormatter1.dateFormat = "yyyy-MM-dd HH:mm:ss"

//Declare Date Formatter 2
let dateFormatter2 = DateFormatter()
    dateFormatter2.dateFormat = "hh:mm"

//Retrieve date and set to proper date for DateFormatter
var date: Date = dateFormatter1.date(from: "2017-11-28 10:47:30")!

//Set String date to time format with dateFormatter2
let dateString = dateFormatter2.string(from: item)

           //Reseting dateFormatter1 for to only use time (could be ambiguous)
           dateFormatter1.dateFormat = "hh:mm"

           //Set date to Date
           date = dateFormatter1.date(from: dateString)!

    print("String: \(dateString)")
    print("Date: \(date)")

输出:

  

字符串:10:47

     

日期:2000-01-01 15:47:00 +0000      - timeIntervalSinceReferenceDate:-31565580.0

我希望日期:为10:47 这甚至可能吗?

1 个答案:

答案 0 :(得分:0)

不,这是不可能的。变量date的类型为Date,其中包含完整的日期信息。以字符串格式显示时,您可以根据需要进行转换,但在存储Date类型的变量时,它会存储完整的信息。