как получить дату только в iOS не время - PullRequest
0 голосов
/ 03 апреля 2019

Я хочу получить единственную дату в iOS, а не время, когда мой код будет

extension Date{
   var DateInDate: Date{
      let formatter = DateFormatter()
      formatter.setLocalizedDateFormatFromTemplate("yyyy-MM-dd")
      formatter.locale = Locale(identifier: "en_IN")
      let dateInString = formatter.string(from: self)
      return formatter.date(from: dateInString)!
   }
}

, если я делаю в вышеуказанном формате, я получаю ответ как «3 апреля 2019 в 12:00AM "

мой другой код

extension Date{
   var DateInDate: String{
      let formatter = DateFormatter()
      formatter.dateStyle = .short
      formatter.timeStyle = .none
      formatter.setLocalizedDateFormatFromTemplate("yyyy-MM-dd")
      formatter.locale = Locale(identifier: "en_IN")
      let dateInString = formatter.string(from: self)
  }
}

, но таким образом я получаю в формате строки, а не в формате даты

Я хочу получить ответ в формате даты

Ответы [ 3 ]

1 голос
/ 03 апреля 2019

Как уже упоминалось в комментариях, экземпляр Date без временной части невозможен.

В терминах Date безвременная дата - полночь, начало дня .

В Calendar имеется удобный API:

let startOfDay = Calendar.current.startOfDay(for: Date())
0 голосов
/ 03 апреля 2019

Попробуйте это:

 let date = Date()
 let dateFormatter = DateFormatter()
 dateFormatter.timeStyle = DateFormatter.Style.none
 dateFormatter.dateStyle = DateFormatter.Style.short
 dateFormatter.string(from: date)
0 голосов
/ 03 апреля 2019

Вместо этого следует использовать DateComponents .Дата всегда будет иметь время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...