0

NSDateFormatter を整数に変換するにはどうすればよいですか?

私はこのコードを使用しています:

     NSDateFormatter *timeOfDayInt = [[[NSDateFormatter alloc] init] autorelease];
     [timeOfDayInt setDateFormat:@"HHmm"];
    int currentTime = (int)[timeOfDayInt stringFromDate:[NSDate date]];


    if(currentTime >= 1400 && currentTime <= 1500) {
     //do something
}

不思議なことに、このコードは前日と同じように機能しましたが、今では奇妙な数字が返されます...問題の解決策が本当に見つからないので、答えを教えてください..ありがとう!

PS:

時間を記録すると、NSLog(@"%@",[timeOfDayInt stringFromDate:[NSDate date]]);

正しくログに記録されます..なぜ機能しないのですか?

4

2 に答える 2

2

Stringaを a にキャストしないでくださいint。これがどのように機能したかはわかりません。

代わりにこれを試してください:

int currentTime = [[timeOfDayInt stringFromDate:[NSDate date]] intValue];
于 2012-12-17T11:32:05.027 に答える
0

convert stringint使用してみませんかintValue:

int currentTime = [[timeOfDayInt stringFromDate:[NSDate date]] intValue];

までcasting stringでは、 に入るintことができません。convertedint

于 2012-12-17T11:32:35.720 に答える