1

这是我的第一个问题;

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")
}

如果我写 print("date1") 或 print("date2") 它会给出以下输出

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

我想写同样的例子,但date1必须date2包括这两个属性:

格式:"dd.MM.yyyy"

语言环境:"tr_TR"

除此之外,这是我的第二个问题:

let date2 = Date().addingTimeInterval(3600)

如您所知,这 3600 的价值增加了​​一个小时。如何添加一天?24*3600?有什么最短的方法吗?

4

3 回答 3

1

尝试

extension Date {
  func addDays(_ days: Int) -> Date {
    Calendar.autoupdatingCurrent.date(byAdding: .day, value: days, to: self)!
  }
}
于 2018-09-10T09:43:35.190 回答
0

试试这个

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)
于 2018-09-10T09:44:40.580 回答
0

就像@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,您才需要进行格式化。

于 2018-09-10T09:50:20.540 回答