아래 코드를 사용하고 있지만 하루 앞당겨집니다.NSDateFormatter가 하루 전날 제공합니다
예 : 날짜 및 내고 "2013년 9월 1일 3시 59분 59초 +0000"로오고있다 "는 59-0400 : 59 2013-08-31T23이"로 통과 입력 문자열 .
NSDateFormatter *formatter = [self railsDateFormatter];
NSDate *date = [formatter dateFromString:dateString];
+(NSDateFormatter*)railsDateFormatter
{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"YYYY-MM-dd'T'HH:mm:ssZ"];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[formatter setLocale:locale];
return formatter;
}
감사합니다.
너는 1 일 앞서는 것 같지 않고, 앞으로 4 시간 더있는 것 같아. 출력 할 때 날짜 형식은 어떻게됩니까? –
단서는 문자열 끝에있는 시간대 오프셋이었으며, 처음에는'-0400' (4 시간 지연)이고 두 번째 시간에는'+ 0000' (0 시간 지연)이 있습니다. 로컬을'en_US_POSIX'로 설정하면 시간대가 변경되었습니다. 전혀 문제가 없습니다. –
YYYY와 yyyy의 차이를 모르는 경우 yyyy를 사용해야합니다. 그러나 그것은 단지 1 월 1 일 근처의 날짜를 깨뜨릴 것입니다. –