2016-07-16 1 views
-2

간단한 질문, 성가신 문제. 시간 선택 도구 (예 : 오전 11시)가 있습니다. 그런 다음 그 시간을 콘솔에 출력하는 메소드에 연결된 버튼. 말 그대로 5 라인 프로젝트. 콘솔에 인쇄 된 시간은 내가 설정 한 시간에 한 시간 앞당겨 표시됩니다 (11 AM을 설정하면 오전 10시를 인쇄합니다). 내 Mac에서 표준 시간대가 올바르게 설정되어 있으면 시계가 정확한 시간을 표시합니다. Stack Overflow를 살펴본 결과, NSCalendar와 컴포넌트 등이 포함 된 매우 긴 답변을 보았습니다. 그러나 이것이 한 줄 일 것이라고 확신합니다. 맥 마루를 설정하기 전에 도와주세요. 감사합니다잘못된 시간을 반환하는 NSDate의 날짜 메서드

--------------------------------------------- ------------------편집하다------------------------------- -------------------------------

좋아, 내가 명확하게 볼 수있는 코드를 게시 할 것입니다. :

- (IBAction)setReminder:(id)sender{ 

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; 
    NSString *dateString = [formatter stringFromDate:self.datePicker.date]; 


    NSLog(@"Setting a reminder for: %@", dateString); 

    NSDate *date = [formatter dateFromString:dateString]; 

    NSLog(@"another proof that date is right: %@", date); 

    UILocalNotification *note = [[UILocalNotification alloc]init]; 
    note.alertBody = @"This is a reminder!"; 
    note.fireDate = date; 

    [[UIApplication sharedApplication] scheduleLocalNotification:note];} 

첫 번째 NSLog 올바른 시간을 반환하지만 두 번째 NSLog 한 시간 이전에 시간이 날짜 선택기를 사용하여 설정하는 것이 반환, 그래서 통지가 트리거되지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? tx

+2

우리에게 당신이 시도가 코드를 보여주십시오 당신을 도울 것입니다. –

+0

예, 시도한 코드를 게시하십시오 !! – Lion

+0

일부 코드로 텍스트를 편집했습니다. – Paul

답변

0

날짜 선택기는 항상 Date in UTC를 반환합니다.

dateformatter를 만들고 문자열을 가져 오면 예상 시간이 표시됩니다.

-1

이 옵션을 사용하십시오

NSDateFormatter *formattor=[[NSDateFormatter alloc]init]; 
[email protected]"yyyy-MM-dd HH:mm:ss"; 
NSString *date_string=[formattor stringFromDate:self.datePicker.date]; 
NSLog(@"%@",date_string); 
+0

이것은 좋은 시작이었습니다. 시도했지만, 날짜 자체가 아직 한 시간 빠릅니다. Pz는 편집을 봐. – Paul