Есть ли нормальная библиотека для работы с датами и временем в Free Pascal, которая использует не Double для представления времени, а целые типы? Я видел в стандартной библиотеке есть какой-то тип TTimeStamp - запись с двумя полями, количество дней и количество миллисекунд, прошедших с начала дня. В общем, не знаю. Важных функций для работы с TTimeStamp я не увидел. Функции преобразования в строку нет, например, функций вычисления разницы между двумя датами в TTimeStamp нет.
В общем, я думаю, что библиотека должна быть, только я что-то не нашёл. Подскажите плз если кто знает
Целые даты не TDateTime = Double
Модератор: Модераторы
Что касается TimeStamp - - DateTimeToTimeStamp <-> TimeStampToDateTime
В использовании целого типа вообще то нет никаких преимуществ: в первую очередь, он существенно ограничен по диапазону представляемого промежутка времени. Если что, есть еще юниксовый timestamp - число секунд с 1970-го года и функции UnixToDateTime <-> DateTimeToUnix
В использовании целого типа вообще то нет никаких преимуществ: в первую очередь, он существенно ограничен по диапазону представляемого промежутка времени. Если что, есть еще юниксовый timestamp - число секунд с 1970-го года и функции UnixToDateTime <-> DateTimeToUnix
у TTimeStamp два поля по Integer: на день и на миллисекунды
2^31 дней / 365 = 5 800 000 лет
Это значит, что он представляет время от -5 800 000 года до +5 800 000 года с точностью до миллисекунды
Без плавающей арифметики. Я думаю, что это лучше чем хранить дату в Double
Добавлено спустя 1 минуту 4 секунды:
И ещё мне не нравится, что у TDateTime ноль - это 1899 год.
2^31 дней / 365 = 5 800 000 лет
Это значит, что он представляет время от -5 800 000 года до +5 800 000 года с точностью до миллисекунды
Без плавающей арифметики. Я думаю, что это лучше чем хранить дату в Double
Добавлено спустя 1 минуту 4 секунды:
И ещё мне не нравится, что у TDateTime ноль - это 1899 год.
