是否可以快速从当前日期减去天、月或年

com*_*rik 13 time date swift swiftui

您好,我想从当前日期中减去天、月或年。我可以使用此代码创建一个距离当前日期一周的日期。

let date = Date().addingTimeInterval(TimeInterval(86400*7))
Run Code Online (Sandbox Code Playgroud)

是否可以创建一个距离当前日期一周前的日期?

Tar*_*agi 25

您应该用来Calendar进行这些计算,而不是86400花一天的时间进行硬编码。

if let date = Calendar.current.date(byAdding: .day, value: -7, to: Date()) {
   // Use this date
}
Run Code Online (Sandbox Code Playgroud)


Md.*_*que 6

雨燕5

函数从当前日期添加或减去日、月、年。

func addOrSubtractDay(day:Int)->Date{
  return Calendar.current.date(byAdding: .day, value: day, to: Date())!
}

func addOrSubtractMonth(month:Int)->Date{
  return Calendar.current.date(byAdding: .month, value: month, to: Date())!
}

func addOrSubtractYear(year:Int)->Date{
  return Calendar.current.date(byAdding: .year, value: year, to: Date())!
}
Run Code Online (Sandbox Code Playgroud)

现在调用该函数

//Subtracting
var daySubtractedDate = addOrSubtractDay(-7)
var monthSubtractedDate = addOrSubtractMonth(-7)
var yearSubtractedDate = addOrSubtractYear(-7)

//Adding
var dayAddedDate = addOrSubtractDay(7)
var monthAddedDate = addOrSubtractMonth(7)
var yearAddedDate = addOrSubtractYear(7)
Run Code Online (Sandbox Code Playgroud)
  • 添加日期传递预期值
  • 减去传递负值