user6333215
user6333215

Reputation:

How to convert string to date without time in Swift 3?

I have try to convert the date like 2017-02-11 string to date but the result give me back something like this 2017-02-10 16:00:00 +0000 . I am using the following code below.

let localDate = dateFormatter.string(from: date) //2017-02-11

    let dateFormatter2 = DateFormatter()
    dateFormatter2.dateFormat = "yyyy-MM-dd"

    let selectedDate = dateFormatter2.date(from: localDate)
    print("Did Select \(selectedDate)") // 2017-02-10 16:00:00 +0000

Upvotes: 3

Views: 7814

Answers (2)

Papershine
Papershine

Reputation: 5223

let dateWithTime = Date()

let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .short

let date = dateFormatter.string(from: dateWithTime) // 2/10/17

This will format it correctly, but this will be for display purposes only. All Dates have time.

Upvotes: 6

Russell
Russell

Reputation: 5554

It's true that there is no Date without a time element, but if you need something that you can use to compare whole days, you can get the first moment of a given Date using

Calendar.current.startOfDay(for: dateWithTime)

Upvotes: 8

Related Questions