NOW()を使用して時刻を設定するmySQLデータベースにユーザー間で送信されたデータの時刻を保存するサーバーがあります。時間を受信者の現地時間に変換しようとしていますが、あまり運がありません(保存する前に時間を変換しますが、私が言うように、送信者ではなく受信者にローカルな時間を設定したいです)。日付は文字列としてアプリに返され、次のように調整しようとしました。
NSString *string1 = [[receivedMessages objectAtIndex:thisRow]objectAtIndex:2];
NSDate *messageDate;
NSCalendar* cal = NSCalendar.currentCalendar;
NSTimeZone* tz = cal.timeZone;
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM dd yyyy hh:mma"];
[formatter setTimeZone:tz];
messageDate = [formatter dateFromString:string1];
日付をフォーマットしますが、正しくはありません。アプリが次のように受け取る日付:
April 5 2012 5:49AM
に変換されます:
2012-04-05 04:49:00 +0000
そもそも、xcodeが日付がどのタイムゾーンに属しているかをどのように判断するのか疑問に思っていますか?
実際、私はそれを使用してもう一度テストしました
NSTimeZone *pst = [NSTimeZone timeZoneWithAbbreviation:@"PST"];
代わりに
NSCalendar* cal = NSCalendar.currentCalendar;
NSTimeZone* tz = cal.timeZone;
そしてそれはまだ私に2012-04-0504:49:00+0000としての時間を与えます。
誰かアイデアはありますか?
どうもありがとう