Формирование даты, добавление дней к дате - PullRequest
0 голосов
/ 10 сентября 2018

Вот мой первый вопрос;

import Foundation 

let date1 = Date()
let date2 = Date().addingTimeInterval(3600)

if date1 == date2
{
          print("equals")
}
else if date1 > date2
{
          print("date1 is bigger")
}
else if date1 < date2
{
          print("date2 is bigger")
}

Это дает ниже вывод, если я пишу печать ("date1") или печать ("date2")

2018-09-10 08:56:49 + 0000

Я хотел бы написать тот же пример, но date1 и date2 должны включать эти 2 свойства:

формат: "dd.MM.yyyy"

язык: "tr_TR"

Кроме того, вот мой второй вопрос:

let date2 = Date().addingTimeInterval(3600)

Как вы знаете, это 3600 добавление стоимости в час. Как я могу добавить один день? 24 * 3600? Есть ли кратчайший путь?

Ответы [ 3 ]

0 голосов
/ 10 сентября 2018

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

let today = Date() // OR your date here
let tomorrow = Calendar.current.date(byAdding: .day, value: 1, to: today)
let yesterday = Calendar.current.date(byAdding: .day, value: -1, to: today)
0 голосов
/ 10 сентября 2018

Как сказал @Larme, вы можете посмотреть на Calendar.

var dateComponents = DateComponents()
dateComponents.day = 1
guard let date = Calendar.current.date(byAdding: dateComponents, to: Date()) else {  // Adding date components to current day.
   fatalError("date not found")
}
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .short // dd.MM.yyyy
dateFormatter.locale = Locale(identifier: "tr_TR") // Your preferred locale
let dateWithLocale = dateFormatter.string(from: date)
print(date)

Ваше сравнение может быть выполнено с использованием Date объектов. Только когда вам нужно распечатать или использовать его как String, вам нужно будет выполнить форматирование.

0 голосов
/ 10 сентября 2018

Попробуйте

extension Date {
  func addDays(_ days: Int) -> Date {
    Calendar.autoupdatingCurrent.date(byAdding: .day, value: days, to: self)!
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...