获取昨天的 NSDate 开始和结束
Getting yesterday's NSDate start and end
我在这里查看了几个类似的问题,但它们解决的问题与我尝试做的略有不同。我想为昨天的开始和结束创建一个 NSDate
对象 (12:00am - 12:00am)。我已经成功地为一天的开始和一天的结束创建了一个NSDate
,但我只能为当天做,而不能为前一天做。这似乎不应该更难,但我 运行 遇到了一些麻烦。
我当天的开始和结束NSDate
:
extension NSDate {
var startOfDay: NSDate {
return NSCalendar.currentCalendar().startOfDayForDate(self)
}
var endOfDay: NSDate? {
let components = NSDateComponents()
components.day = 1
components.second = -1
return NSCalendar.currentCalendar().dateByAddingComponents(components, toDate: startOfDay, options: NSCalendarOptions())
}
}
我试过添加这样的东西:
var yesterday = NSCalendar.currentCalendar().dateByAddingUnit(.CalendarUnitDay, value: -1, toDate: NSDate(), options: nil)
但是我得到一个错误
Type of expression is ambiguous without more context
。我显然在这里遗漏了一些重要的东西,但我似乎无法弄清楚它是什么。
我拖来拖去的一些扩展。将以下内容放入游戏中并享受:
import UIKit
extension NSDate {
var yesterday:NSDate {
let calendar = NSCalendar.currentCalendar()
return calendar.startOfDayForDate(calendar.dateByAddingUnit(.Day, value: -1, toDate: self, options: NSCalendarOptions.WrapComponents)!)
}
var tomorrow:NSDate {
let calendar = NSCalendar.currentCalendar()
return calendar.startOfDayForDate(calendar.dateByAddingUnit(.Day, value: 1, toDate: self, options: NSCalendarOptions.WrapComponents)!)
}
}
let now = NSDate()
now.yesterday
now.tomorrow
now.yesterday.yesterday.yesterday.yesterday
now.tomorrow.yesterday
我在这里查看了几个类似的问题,但它们解决的问题与我尝试做的略有不同。我想为昨天的开始和结束创建一个 NSDate
对象 (12:00am - 12:00am)。我已经成功地为一天的开始和一天的结束创建了一个NSDate
,但我只能为当天做,而不能为前一天做。这似乎不应该更难,但我 运行 遇到了一些麻烦。
我当天的开始和结束NSDate
:
extension NSDate {
var startOfDay: NSDate {
return NSCalendar.currentCalendar().startOfDayForDate(self)
}
var endOfDay: NSDate? {
let components = NSDateComponents()
components.day = 1
components.second = -1
return NSCalendar.currentCalendar().dateByAddingComponents(components, toDate: startOfDay, options: NSCalendarOptions())
}
}
我试过添加这样的东西:
var yesterday = NSCalendar.currentCalendar().dateByAddingUnit(.CalendarUnitDay, value: -1, toDate: NSDate(), options: nil)
但是我得到一个错误
Type of expression is ambiguous without more context
。我显然在这里遗漏了一些重要的东西,但我似乎无法弄清楚它是什么。
我拖来拖去的一些扩展。将以下内容放入游戏中并享受:
import UIKit
extension NSDate {
var yesterday:NSDate {
let calendar = NSCalendar.currentCalendar()
return calendar.startOfDayForDate(calendar.dateByAddingUnit(.Day, value: -1, toDate: self, options: NSCalendarOptions.WrapComponents)!)
}
var tomorrow:NSDate {
let calendar = NSCalendar.currentCalendar()
return calendar.startOfDayForDate(calendar.dateByAddingUnit(.Day, value: 1, toDate: self, options: NSCalendarOptions.WrapComponents)!)
}
}
let now = NSDate()
now.yesterday
now.tomorrow
now.yesterday.yesterday.yesterday.yesterday
now.tomorrow.yesterday