0

こんにちは、私は時間として NSString を持っていることを 1 つ尋ねたいのですが、この文字列を NSDate 時間に変換したいのですが、これを行ったことがありますが、何を得たのかわかりません........

     NSString *Time=@"17:00:00";

     NSDateFormatter *dateFormatter3 = [[NSDateFormatter alloc] init];
    [dateFormatter3 setDateStyle:NSDateFormatterMediumStyle];
    [dateFormatter3 setDateFormat:@"HH:mm:ss"];
    NSDate *date1 = [dateFormatter3 dateFromString:Time];
    NSLog(@"date1 : %@", date1);

OUTPUT : date1 : 2000-01-01 11:30:00 +0000
NSDate 形式として正しい時刻 17:00:00 のみが必要です ...どうすればこれを取得できますか? ....
この問題を解決してください....!!!

4

6 に答える 6

5

タイムゾーンを設定すると、適切な出力が得られます。このコードを試してください。

NSString *Time=@"17:00:00";

NSDateFormatter *dateFormatter3 = [[NSDateFormatter alloc] init];
[dateFormatter3 setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
[dateFormatter3 setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter3 setDateFormat:@"HH:mm:ss"];
NSDate *date1 = [dateFormatter3 dateFromString:Time];
NSLog(@"date1 : %@", date1);
于 2013-10-29T05:22:44.560 に答える
0

これは、NSDateが日付と時刻の組み合わせであるためです。NSDate を印刷すると、この形式で印刷されます。しかし、この NSDate からの NSString は、本当に必要なものを表示します。したがって、日付からNSStringを取得するだけです

NSString *dateString = [dateFormatter3 stringFromDate:date1];
 NSLog(@"date : %@ , date string : %@", date1, [dateFormatter3 stringFromDate:date1]);
于 2013-10-29T05:32:04.580 に答える