2017-05-04 19 views
-1

カレンダーでアラートを作成するアプリケーションで作業しています。正しい日付にアラームを正しく設定することができます。たとえば、4th of May 2017 1 PMのアラームを設定します。カレンダーの日付を正しい日付に変換する

私がカレンダーイベントを取得しようとすると、別の日付がUTCで返されます。

enter image description here

あなたが見ることができるように、それはUTCで同じ日に私を10 AM返します。私はカレンダーから取得しようとすると、正確な日付を取得する方法を私は思っています。

+0

タイムゾーンを修正する必要があります。おそらくカスタムカレンダーのタイムゾーンを設定すると効果的です。 – NeverHopeless

+0

これは、あなたの現在のタイムゾーンに日付を変換する必要があります:http://stackoverflow.com/questions/29392874/converting-utc-date-format-to-local-nsdate – SeanLintern88

答えて

1

あなたは自分のローカルタイムゾーンをするUTCを変換する必要があります。我々は、それは異なる表示される可能性がありますDateを印刷other.If変更まで

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]]; 
NSDate *date1 = [dateFormatter dateFromString:@"2017-05-04 10:00:00"]; 

// change to a readable time format and change to local time zone 
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm a"]; 
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]]; 
NSString *strCurrentLocalTimezoneDate = [dateFormatter stringFromDate:date1]; 
-1

//このコードを除いて、timeZoneも設定する必要があります。

NSDateFormatter *format = [[NSDateFormatter alloc] init]; 
[format setDateFormat:@"MMM-dd-yyyy"]; 

NSDate *now = [[NSDate alloc] init]; 

NSString *dateString = [format stringFromDate:now]; 
    NSLog(@"%@",dateString); 
0

Dateは、常に現在の時間帯を取るが、実際にそれが現在のかかります。

関連する問題