1

mysqlに日付を保持するvarcharがあります。私はそれをに変換しようとしていますがNSDate、私が試したことはまだ何も機能しません。NSStringfrommysqlは次のようになります。

2012年8月11日午前10時17分

NSStringコンバージョンに関連するこれまでのすべての投稿NSDateは、この文字列ではまだ機能していません。誰かが助けてくれたら...

4

2 に答える 2

2

をに変換するNSStringにはNSDate、を使用してくださいNSDateFormatter

NSString *_dateString = @"August 11, 2012, 10:17 AM";
NSDateFormatter *_dateFormatter = [[NSDateFormatter alloc] init];
[_dateFormatter setDateFormat:@"MMMM dd, yyyy, HH:mm a"];
NSDate *_date = [_dateFormatter dateFromString:_dateString];
NSLog(@"raw date : %@", _date);
NSLog(@"formatted date : %@", [_dateFormatter stringFromDate:_date]);

出力NSDateには日付が含まれます。

raw date : 2012-08-10 23:17:00 +0000
formatted date : August 11, 2012, 11:17 AM

NSDate別の出力のために好きなようにフォーマットすることができます、それは今までですNSDateが、日付を含むオブジェクトで作業することができます。

注:変換するときの入力日からのタイムゾーンはわからないためNSDate、デフォルトを使用します。現在のタイムゾーンを設定すると、変換後に正しい日付が取得されます。

于 2012-08-10T08:04:26.603 に答える
2

MySQL(サーバー)からデータを取得するためにJSONを使用し、myJSONObjectというJSONオブジェクトがあると仮定します

NOTE: myJSONObjectNSJSONSerializationなどのフレームワークを使用してシリアル化する必要があります

いくつかの詳細な質問リンクで編集

データを2012 年 8 月 11 日 10:17 AMに変換するように依頼されましたが、私のサンプル コードは2012-08-11 10:17:..として変換しようとしました。サンプル コードを編集しました。詳細については、NSDateFormatterをご覧ください。

注意してください: NSDateComponentsmonth_from_dateを使用して変数を取得できます。ここここでいくつか質問があります..できない場合は、新しい投稿を開いてください.

 NSString* dateString = [myJSONObject objectForKey:@"date"];

            NSDateFormatter* fmt = [NSDateFormatter new];
            [fmt setTimeZone:[NSTimeZone defaultTimeZone]]; 
           // [fmt setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
           [fmt setDateFormat:@"%@ DD,YYYY, HH:mm",month_from_date]; 
           NSDate* dateFromString = [fmt dateFromString:dateString];
NSLog("Here is date from string: %@",dateFromString);
于 2012-08-09T19:20:48.737 に答える