0

我一直在尝试只用时间返回一个日期。我尝试了 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 这甚至可能吗?

4

1 回答 1

0

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

于 2018-05-17T10:33:06.873 回答