2011-06-27 8 views
1

私は所定の時間から適切な時間を得ることができません。 適切な時間を取得することの問題

NSArray * array_TimeSlotWith_StartDate = [ @"01/05/2010 10:15:33" componentsSeparatedByString:@" "]; 
NSArray * array_TimeSlotWith_EndDate = [ @"01/05/2010 10:45:43" componentsSeparatedByString:@" "]; 

NSLog(@" array_TimeSlotWith_StartDate === %@",array_TimeSlotWith_StartDate); 
NSLog(@"array_TimeSlotWith_EndDate  ==  %@",array_TimeSlotWith_EndDate); 

NSArray * Array_StartTime = [[array_TimeSlotWith_StartDate objectAtIndex:1] componentsSeparatedByString:@":"]; 
NSLog(@"Array_StartTime  ==  %@",Array_StartTime); 

NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease]; 
[df setDateFormat:@"HH:mm:ss"]; 
NSDate *date1 = [df dateFromString:[array_TimeSlotWith_StartDate objectAtIndex:1]]; 
NSDate *date2 = [df dateFromString:[array_TimeSlotWith_EndDate objectAtIndex:1]]; 
NSTimeInterval interval = [date2 timeIntervalSinceDate:date1]; 
NSLog(@"date 1%@",date1); 
NSLog(@"date 2%@",date2); 

を次のように私のコードがあるそれは私が必要なものを、このの代わりに、0000午前4時45分33秒1970年1月1日として私に日付1の値を与えると、10:15であるべきちょうど時間です33。

終了日も同じですが、ログには1970-01-01 05:15:43 +0000と表示されます。この代わりに値10:45:43の時刻コンポーネントとして出力する必要があります。

答えて

1

時間のない日付は存在しません。日付を指定しない場合、日付フォーマッタはデフォルトで"1970-01-01"(Unixエポック)になります。 this SO linkがお手伝いしますように願っています。

date1date2は、あなたが期待きた値が含まれていませんが、私はintervalはあなたが必要な正しい結果が含まれている必要があり、と感じています。この文脈で日付を無視することをお勧めします。

+0

だから、私は期待している値を得るために何をすればよいのですか?時間の構成要素だけが必要です.Plz help .. –

+0

@ abhi.shah88、あなたはNSDateで時間を持つことはできません。 NSDateには日付と時刻の両方が含まれている必要があります。とにかく、あなたはNSDateの時間と何をするつもりですか?私はそれの目的は何ですか? – EmptyStack

+0

私はwebsrviceから日付を取得しています(この01/05/2010 10:15:33のようなものです)。そして、その日付の時間成分ではありません。なぜなら、他の方法を示唆しているのなら、なぜでしょうか。素晴らしいことだ。あなたが私が出力として望むものを得ることを願っています。あなたの入力をありがとう。 –

0

あなたは、使用するためにNSDateオブジェクトがデフォルトのものを選択する理由である日付とタイムゾーンを指定しません。

+0

私は必要な出力を得るために何をすべきですか?私は今必要なのはここの時間です。 –

関連する問題