2011-02-11 8 views
2

NSStringをNSdateに変換しようとしています。文字列は、入力文字列の形式は2011年2月8日 私は日付をログインしたときに、私は2011年2月7日午前18時30分00秒を得るの日付が含まれている以下のNSStringからNSDateを取得する

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"MM/dd/yyyy"]; 
NSDate *date = [dateFormat dateFromString:setitempricedate]; 
NSLog(@"Date : %@",date); 

を使用it.iで日付を持っていますGMT、

私は日付を02/08/2011としてのみ取得したいと思います。どこが間違っていますか

+0

で行くより良いカスタムスタイルをしたい場合は?昨日また私は同様の質問を見たhttp://stackoverflow.com/questions/4954155/nsdateformatter-datefromstring-for-24hr-date-gives-wrong-time/4954269#4954269 – KingofBliss

答えて

5

コードでは、指定した文字列から日付オブジェクトを作成するように日付フォーマッタに依頼しています。その後、その日付オブジェクトを印刷しました。あなたが望むのは、その日付オブジェクトを作成して、作成したばかりの日付オブジェクトのフォーマットを日付フォーマッタに依頼することです。代わりにstringFromDateを呼び出す必要があります。

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"MM/dd/yyyy"]; 
NSDate *date = [dateFormat dateFromString:setitempricedate]; 
NSLog(@"Date: %@", [dateFormat stringFromDate:date]); 
+0

質問と回答コードの違いは何ですか?P –

+0

このNSLog(@ "Date:%@"、[dateFormat stringFromDate:date]); – pradeep

-1

指定した日付形式に従わない実際の日付オブジェクトを印刷しています。

[[NSDate dateWithString:setitempricedate] stringFromDate]; 
+0

'[NSDate dateWithString:setitempricedate]'がiOS以外のMacで利用可能である –

+0

何かの理由で 'ios iphone nsdate reference'のGoogle検索でmacドキュメントが返されました:/良いキャッチ – raidfive

0

あなたは日付表現を変更することはできません。これらのクラス(NSDateFormatter, NSCalendar)は、日付ではなく書式設定された文字列を取得するために用意されています。

NSDateクラスのインスタンスを取得するときはいつでも、取得するのと同じ形式になります。

2011-02-07午後06時30分00秒GMT

あなたがiPhoneのSDKに問題があるNSString

関連する問題