Преобразуйте секунды в дни, минуты и часы в Obj-c

Я использовал другой подход - вместо того, чтобы компилировать все в .lib, а затем связать это .lib с исполняемым файлом, я связываю исполняемый файл напрямую с файлами .obj.

В CMake, это можно сделать следующим образом:

add_library(common OBJECT ${common_sources})
add_executable(executable1 "main1.cc" $<TARGET_OBJECTS:common>
add_executable(executable2 "main2.cc" $<TARGET_OBJECTS:common>

Изменение любого из файлов в ${common_sources}) только перекомпилирует их эквивалентные объекты и перехватывает исполняемые файлы, что обеспечивает те же преимущества, что и если вы связали вещи через промежуточный .lib. В то же время все статические конструкторы остаются на месте, что устраняет проблему.

Обратите внимание, что это полезно, только если вы ставите статические ссылки.

Этот подход был протестирован с помощью gcc 5.2.0, MinGW-w64 5.2.0 и MSVC 15.

22
задан higginbotham 21 February 2009 в 03:14
поделиться

1 ответ

В этом случае просто необходимо разделиться.

days = num_seconds / (60 * 60 * 24);
num_seconds -= days * (60 * 60 * 24);
hours = num_seconds / (60 * 60);
num_seconds -= hours * (60 * 60);
minutes = num_seconds / 60;

Для более сложных вычислений даты, таких как количество дней в течение этих десяти миллионов секунд после 15:00 19-го января в 1983, Вы использовали бы класс NSCalendar наряду с NSDateComponents. Руководство по программированию даты и времени Apple помогает Вам здесь.

42
ответ дан fish 29 November 2019 в 03:21
поделиться