Как я Увеличиваю объект NSDate в Objective C

Существует много быстрых алгоритмов CRC, которые должны добиться цели: http://www.google.com/search?hl=en&q=fast+crc&aq=f&oq=

Редактирование: , Почему ненависть? CRC является полностью соответствующим, как свидетельствуется другими ответами. Поиск Google был также соответствующим, так как никакой язык не был определен. Это - старая, старая проблема, которая была решена так много раз, что, вероятно, не будет категорического ответа.

6
задан TJ Seabrooks 3 April 2011 в 18:20
поделиться

3 ответа

Как вы обнаружили, то, что у вас есть сейчас, довольно подвержено ошибкам. Он не только может сбиться с пути из-за перехода на летнее время, но и что, если у вашего пользователя не грегорианский календарь? Тогда дни не будут длиться 24 часа.

Вместо этого используйте NSCalendar и NSDateComponents , которые были специально разработаны для этого:

+ (NSDate *)getForDays:(int)days fromDate:(NSDate *)date
{
    NSDateComponents *components= [[NSDateComponents alloc] init];
    [components setDay:days];

    NSCalendar *calendar = [NSCalendar currentCalendar];
    return [calendar dateByAddingComponents:components toDate:date options:0];
}
13
ответ дан 8 December 2019 в 18:40
поделиться

Используйте NSCalendar для выполнения вычислений, подобных этому . Это не только с большей вероятностью сработает, но и ваш код будет более понятным.

1
ответ дан 8 December 2019 в 18:40
поделиться

Я понятия не имею, какой язык или систему вы здесь используете, но я бы посоветовал выполнять все ваши вычисления, используя время как UTC, и использовать только местное время, когда вы приходите для отображения Это.

В большинстве операционных систем и языков при преобразовании всемирного координированного времени в местное время учитывается временной пояс и переход на летнее время.

-1
ответ дан 8 December 2019 в 18:40
поделиться