2012-01-17 18 views
1

私は文字列の形式であるが、配列の私の辞書項目は、日付と時刻を含む日付"16 Jan 2012"用辞書の私の配列を検索したい、.Iは、文字列の形式を変換しています"16 Jan 2012 somehours:somemins:somesecs"を言う特定のdate.Ex用辞書の私の配列を検索したいですNSDate形式の日付は、私は.Iは"Date == CAST(348345000.000000, "NSDate")"を次のように秒に日付を変換する日付を検索し、私のレコードは、それが基準を満たしていないだろう"16 Jan 2012 somehours:somemins:somesecs"として日付が含まれているにもかかわらず、そう比較することNSPredicateを使用しています2012-01-15 18:30:00 +0000の代わり2012-01-16として日付を取得しています。私は"16 Jan 2012 somehours:somemins:somesecs"として日付を含むレコード/配列が検索基準を満たす必要があります。誰もこれを達成する方法を知っている?NSStringをNSDateに変換するには?

ありがとうございます!

答えて

0

dateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0]; 

詳細を説明します。 "16 Jan 2012"時間、分、または秒の値が含まれていないので、NSDateFormatterで解析すると、 "2012-01-16 00:00:00 +000"という記述を持つNSDateが予想されます。しかし、日付フォーマッタが5: GMTとインドの間の30時間(30の差異に基づくと仮定)。明示的に日付フォーマッタのタイムゾーンを設定することで、この問題を回避できます。

+0

NJonesさん、ありがとうございました。これは私の最初の問題を解決しました。私はNSPredicateを使用して日付を秒に変換する日付を検索しています。 "Date == CAST(348345000.000000、" NSDate ")"と私のレコードに日付が "16 Jan 2012 somehours:somemins:somesecs "という基準を満たしません。日付を含むレコード/配列が「16 Jan 2012 somehours:somemins:somesecs」という検索基準を満たす必要があります。これを達成する方法を知っている人はいらっしゃいますか? –

0

あなたは一つのフォーマットから別の日付文字列を変換するNSDateFormattersを使用する必要があります。あなたはあなたのNSDateを与えるためにdateFromStringを使用inputDateFormatterを持って、その後、ご希望の文字列を与えるoutputDateFormatterにこれを養うことができます。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"dd MMM yyyy"]; 
NSString *dateInFormatYouWant = [dateFormatter stringFromDate:yourDate] 

これより効率的な方法があるかどうかはわかりません。 NSDateFormatter年代のタイムゾーンは、このようなものを使用するための自動調整を自分自身を取り除くために

+0

私はOPのタイムゾーンに問題がある気がします。 OPは日付を取得することができますが、変換によってタイムゾーンに時間が与えられています。たとえば、時間が16日の場合は00:00、タイムゾーンが05:30の場合は結果が15日となり、時間は18:30となります –

関連する問題