-(NSDate *)beginningOfDay:(NSDate *)date
{
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *components = [cal components:( NSMonthCalendarUnit | NSYearCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit ) fromDate:date];
[components setHour:0];
[components setMinute:0];
[components setSecond:0];
return [cal dateFromComponents:components];
}
-(NSDate *)endOfDay:(NSDate *)date
{
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *components = [cal components:( NSMonthCalendarUnit | NSYearCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit ) fromDate:date];
[components setHour:23];
[components setMinute:59];
[components setSecond:59];
return [cal dateFromComponents:components];
}
เมื่อฉันโทร: [self endOfDay: [NSDate date]]; ฉันได้รับของเดือนแรก ... ทำไมเป็นอย่างนั้น ฉันใช้สองวิธีนี้เพราะฉันต้องการช่วงเวลาตั้งแต่วินาทีแรกของวันที่แรก (beginningOfDay: date1) ถึงวินาทีสุดท้ายของวันที่สอง (endOfDay: Date2) ...