두 개의 날짜가 있습니다 (MM/dd/yyyy hh : mm : ss : SS). 두 날짜 모두 (stringFromDate) 메서드를 사용하여 두 날짜를 문자열로 변환했습니다. 그러나 나는 그들 사이의 차이점을 얻지 못하고 내 콘솔에 보여줄 수 없었다. 내가 어떻게해야하는지 생각 나게 해줘? 감사합니다.두 날짜의 차이점을 얻으려면 어떻게해야합니까?
3
A
답변
3
예
NSDate *today = [NSDate date];
NSTimeInterval dateTime;
if ([visitDate isEqualToDate:today]) //visitDate is a NSDate
{
NSLog (@"Dates are equal");
}
dateTime = ([visitDate timeIntervalSinceDate:today]/86400);
if(dateTime < 0) //Check if visit date is a past date, dateTime returns - val
{
NSLog (@"Past Date");
}
else
{
NSLog (@"Future Date");
}
0
은 일반적으로 I (1970년 1월 1일 같은 일부 출발 epoch 때문에 보통 일) 일 델타 일 평면으로 일/년 값 변환 처리 계산을 참조.
이 문제를 해결하기 위해 매달 시작되는 연도를 일별로 만드는 것이 도움이된다는 것을 발견했습니다. 최근에 이것을 사용했던 수업이 있습니다.
namespace {
// Helper class for figuring out things like day of year
class month_database {
public:
month_database() {
days_into_year[0] = 0;
for (int i=0; i<11; i++) {
days_into_year[i+1] = days_into_year[i] + days_in_month[i];
}
};
// Return the start day of the year for the given month (January = month 1).
int start_day (int month, int year) const {
// Account for leap years. Actually, this doesn't get the year 1900 or 2100 right,
// but should be good enough for a while.
if ((year % 4) == 0 && month > 2) {
return days_into_year[month-1] + 1;
} else {
return days_into_year[month-1];
}
}
private:
static int const days_in_month[12];
// # of days into the year the previous month ends
int days_into_year[12];
};
// 30 days has September, April, June, and November...
int const month_database::days_in_month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
month_database month;
}
당신이 start_day
방법에서 볼 수 있듯이
2월 29일
, 가장 널리 사용되는 오늘, 4로 나누어 년에 한 번 매 4 년에만 발생 날짜 , 같은 1976, 1996, 2000, 2004입니다 , 2008, 2012 또는 2016 ( 세기는 400으로 나눌 수 없으며, 예 : 1900과 같은 ).
2
날짜를 날짜로 유지하고 차이를 가져온 다음 차이점을 인쇄하십시오. 그레고리을 가정 docs on NSCalendar과에서
은 NSCalendar입니다 : 당신은 그냥 일의 차이를 원한다면
NSDate *startDate = ...;
NSDate *endDate = ...;
unsigned int unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *comps = [gregorian components:unitFlags fromDate:startDate toDate:endDate options:0];
int months = [comps month];
int days = [comps day];
0
, 당신은이 작업을 수행 할 수 있습니다. (미 히어의 메타의 답변에 따라.)
const NSTimeInterval kSecondsPerDay = 60 * 60 * 24;
- (NSInteger)daysUntilDate:(NSDate *)anotherDate {
NSTimeInterval secondsUntilExpired = [self timeIntervalSinceDate:anotherDate];
NSTimeInterval days = secondsUntilExpired/kSecondsPerDay;
return (NSInteger)days;
}
+0
(당신은 추가해야이 NSDate의 카테고리 메소드로 사용). – zekel
관련 문제
- 1. 두 개의 R 명명 된 목록의 차이점을 얻으려면 어떻게해야합니까?
- 2. 2 날짜의 차이를 얻으려면
- 3. 두 날짜의 기간을 계산하려면 어떻게해야합니까? 나는이 쿼리를
- 4. 계승 된 변경 사항없이 Accurev에서 어떤 차이점을 얻으려면 어떻게해야합니까?
- 5. DateTime이 주어지면 특정 시간대에서 같은 날짜의 시간 범위를 얻으려면 어떻게해야합니까?
- 6. 두 날짜의 차이점
- 7. 두 날짜의 일 계산
- 8. 두 커널의 차이점을 나열하십시오.
- 9. 두 백본 모델의 차이점을 비교해보십시오.
- 10. 두 날짜의 차이를 계산하는 방법
- 11. 두 날짜의 차이를 찾는 방법
- 12. 두 HTML 파일의 차이점을 찾으십시오.
- 13. 두 텍스트로 된 날짜의 파이썬 정규식
- 14. 두 필드의 차이점을 구분하고 강조 표시합니다.
- 15. 두 날짜의 순위 - 각 날짜 반복적으로
- 16. PHP를 사용하여 두 시간/날짜의 차이를 얻으시겠습니까?
- 17. 두 날짜의 연도 차이를 계산하려면 어떻게합니까?
- 18. 두 문자열 간의 차이점을 찾는 방법은 무엇입니까?
- 19. 두 파일을 비교하고 차이점을 추출하는 방법은 무엇입니까?
- 20. 누구나이 두 사진의 차이점을 알고 계십니까?
- 21. 두 개의 거의 동일한 사진의 차이점을 확인하십시오.
- 22. 두 테이블을 비교하고 차이점을 파일에 저장하십시오.
- 23. 두 Excel 워크 시트의 차이점을 찾으십니까?
- 24. C++에서 두 XML 파일의 차이점을 찾아야합니다.
- 25. Java 로케일로 날짜의 형식을 지정하려면 어떻게해야합니까?
- 26. 날짜의 NSString을 NSDate로 변환
- 27. TrackPopupMenu에서 니모닉을 얻으려면 어떻게해야합니까?
- 28. CPU 사용법을 얻으려면 어떻게해야합니까?
- 29. ActionExecutingContext에서 MethodInfo를 얻으려면 어떻게해야합니까?
- 30. 파일에서 CGImageRef를 얻으려면 어떻게해야합니까?
나는 퍼팅 추천하는이 같은 일정에 매직 넘버 (86400) : 'const를 CGFloat kSecondsPerDay = 60 * 60 * 24;'... – zekel