Способ повернуть повышение:: posix_time:: ptime в __ int64

это должно сделать это:

    NSMutableArray* myArray = ....;

    int i;
    for(i=0; i<[myArray count]; i++) {
        id element = [myArray objectAtIndex:i];
        if(element == ...) {
            [myArray removeObjectAtIndex:i];
            i--;
        }
    }

надежда это помогает...

15
задан Jacob 15 October 2009 в 20:34
поделиться

3 ответа

Преобразование ptime в целое число довольно бессмысленно, так как ptime - это абстракция фактического времени. Время, основанное на целых числах, представляет собой представление этого времени как отсчет от эпохи. Что вы (вероятно) хотите сделать, так это сгенерировать time_duration от вашего времени до интересующей вас эпохи, а затем использовать time_duration :: ticks () для получения 64-битного целого числа. Возможно, вам придется масштабировать результат до желаемой точности:

ptime myEpoch(date(1970,Jan,1)); // Or whatever your epocj is.
time_duration myTimeFromEpoch = myTime - myEpoch;
boost::int64_t myTimeAsInt = myTimeFromEpoch.ticks();
19
ответ дан 1 December 2019 в 03:24
поделиться

из документов: http://www.boost.org/doc/libs/1_40_0/doc/html/date_time/posix_time.html

boost :: int64_t ticks () Вернуть необработанный счетчик типа продолжительности (даст непредсказуемые результаты, если вызов time_duration имеет значение special_value). time_duration td (0,0,0, 1000); td.ticks () // -> 1000

2
ответ дан 1 December 2019 в 03:24
поделиться

Это легко сделать с помощью хронографических классов C ++ 0x, которые основаны на упрощенной версии библиотеки времени / даты Boost, но при просмотре документации Boost я ничего не вижу особенно очевидно. Фактически, единственный способ сделать это, который я вижу, - это вызвать to_tm , чтобы преобразовать его в стандартную структуру C struct tm , а затем умножить поля вместе. Это неприятно, но должно сработать (хотя вы должны быть осторожны с дополнительными секундами и т.п.).

0
ответ дан 1 December 2019 в 03:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: