Как юлианское число используется для расчета даты, есть ли конкретное число для расчета времени

Я хочу сделать тип данных времени в C ++. Для расчета даты мы можем использовать юлианский номер. Есть ли конкретное число для расчета времени

0

Решение

Большинство программ используют «не високосные секунды, начиная с epoc», когда им нужно число для представления абсолютной даты / времени. Эпок может быть чем угодно, но полночный UTC 1 января 1970 года является обычным явлением, поскольку его используют многие операционные системы. Если вы используете 32-битный тип со знаком, то это хорошо для +/- 68 лет. 64-битный тип легко охватывает возраст вселенной.

Для некоторых целей (таких как GPS и астрономия) «не високосные секунды» не достаточно хороши, вам нужно фактическое время, прошедшее.

Вы также получаете вариации на эту тему, например, стандартные библиотеки Java подталкивают вас к не прыжковым миллисекундам со времен epoc, так как это то, что System.currentTimeMillis() возвращается. Это подходит только для 32-битного типа в течение примерно месяца, поэтому старые среды, отличные от Java, не всегда его поддерживают.

2

Другие решения

Не уверен, что понимаю, но, возможно, вы можете взглянуть на struct tm:

структура тм

0

По вопросам рекламы [email protected]