윤년의 경우 [NSDate date]
은 2012-03-01 HH:MM:SS +TTTT
을 반환합니다.[NSDate date] 및 윤년 문제
나는 종종 [NSDate date]
을 호출하여 오늘 날짜가 검색되는 게시물을 보았습니다. 문제는 윤년에 올바른 날짜를 반환하지 않는다는 것입니다. 이제 나는 윤년이 실제로 달력 시스템의 함수라는 것을 알고 있기 때문에 NSDate
은 윤년 (또는 일광 절약 시간)을 인식하지 못한다는 것을 이해합니다. 이 때 볼 수있는 비교를 다음
// assume today's date is 2012-02-29 10:00:00 +0000
NSDate *fileModificationDate = [NSDate date]; // 2012-03-01 10:00:00 +0000 is returned
을 미래의 어떤 시점에서 :
당신이 수행하여 파일의 수정 날짜를 지정 말 : 예를 들면 - 그러나,이 코드의 파괴를 난파 할 수있는 잠재력을 가지고 파일이 마지막으로 수정되었습니다// assume it's the next day at 9 AM, ie 2012-03-01 09:00 +0000
NSTimeInterval timeSinceLastModification = [fileModificationDate timeIntervalSinceNow];
(가) timeSinceLasModification
긍정적있을 것입니다 반환, 이해되지 않는다 미래의 시간을 의미!
제 질문은 : 실제로 현재 날짜를 얻으려면 [NSDate date]
을 사용하는 것은 나쁜 습관입니까? 여기서 중요한 걸 놓치고 있니? 당신이 NSDate
가 윤일 지원하지 않는 아이디어를 어디서 얻었 긴 숨이 질문에 대한 죄송합니다
...
No-repro. NSLog를 통해'NSDate date '를 인쇄하면 하루 종일 2/29가 표시됩니다. 너의 시간대가 뭐니? 어떻게 날짜를 표시하고 있습니까? –