0

開始時刻と終了時刻があるカレンダーで日付をスケジュールしようとしています。タイムゾーンが米国にある場合はすべて正常に機能し、日付の変更は役に立たず、ベネズエラに何をすべきかが必要ですタイムゾーンに関係なくどこでもサービスを提供するために、ジェネリカを配置するようにしますか?

ここでは、コードをデータのままにして、日付形式を作成します。

 comes the date in the following format: 12/10/2012 05:00 pm

  EKEvent* event = [EKEvent eventWithEventStore:eventStore];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
[dateFormatter setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];
  horafin = [dateFormatter dateFromString:inicio];
horafin  = [horafin dateByAddingTimeInterval:3600];
horainicio = [dateFormatter dateFromString:inicio];
[dateFormatter release];


NSString *ti=[[NSString alloc]initWithString:title];
NSLog(@"");
event.title =@"juego";
event.startDate = horainicio;
event.endDate = horafin;
event.URL = [NSURL URLWithString:@"http://pagina.com"];
event.notes = ti;
event.allDay = NO;
vc.event = event;
vc.editViewDelegate = self;
[self presentViewController:vc animated:YES completion:nil];

日付を正しく取得していないため、タイムゾーンを変更した場合にのみ、イベント カレンダーのコールミーが正しく機能しません。

4

2 に答える 2

0

次のコードを使用して、希望のタイムゾーン変換日時を取得します。

- (NSString *) getUTCDate : (NSString *) inputDate
{
    NSDateFormatter *utcDateFormatter = [[NSDateFormatter alloc] init];
    [utcDateFormatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss Z"];
    [utcDateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
  //  [utcDateFormatter setTimeZone :[NSTimeZone timeZoneForSecondsFromGMT: 0]];        
    // utc format
    NSDate *dateInUTC = [utcDateFormatter dateFromString: inputDate];        

    return dateInUTC;
}

dateInUTCGMTタイムゾーンの日付はどこですか。

通話中に自分のタイムゾーンを置き換える必要があり[NSTimeZone timeZoneWithName:@"UTC"]、それが機能するはずです。

于 2013-03-01T18:55:21.190 に答える
0

コード内の 1 行のコードを変更するだけです...

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];

これにより、地域や夏時間によって変わらないユニバーサルの時間形式が設定されます。

于 2013-05-30T09:23:21.153 に答える