这是我的第一个问题;
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?有没有最短路?
就像@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
时,您才需要进行格式化。
尝试
extension Date {
func addDays(_ days: Int) -> Date {
Calendar.autoupdatingCurrent.date(byAdding: .day, value: days, to: self)!
}
}
试试这个吧
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)