Как получить дату | |
---|---|
AngelOKES Автор Сообщений: 828 Дата регистрации: 08.02.2012 |
Есть числа (точнее 4 байта, которые нужно привести с числу) - количество секунд пройдённых после 01.01.2000 года, к примеру 686361600
Нужно привести это число к дате-время: Какой год выбрать не проблема:
Вычислим отстаток mMonth1=mIt-Int(mIt/3600/24/365)*365*24*3600 Остаток если поделить на 3600/24 получаем 279 дней и вот думаю как по-проще получить номер месяца из количества дней? Ну или может у кого-то будут идеи как это реализовать более изящно и красиво |
Re: Как получить дату | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
... Аналогично и год вместо твоей: 2000+ високосные не учитываешь. Если надо просто датавремя, то и год-месяц вычислять не надо. ++ Ну и, насколько помню, побайтное вычисление не надо. Ctobin() вроде решает. Исправлено 4 раз(а). Последнее : Taran, 11.10.21 08:27 |
Re: Как получить дату | |
---|---|
vnkor Сообщений: 324 Дата регистрации: 04.10.2007 |
|
Re: Как получить дату | |
---|---|
AngelOKES Автор Сообщений: 828 Дата регистрации: 08.02.2012 |
Неразобрался я как-то с этой функцией, без параметров выдаёт не то что нужно А вот с определением даты всё отлично работает:
|
Re: Как получить дату | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
ltDT = {^2000-01-01T00} + ctobin(liMP, '4RS') |
Re: Как получить дату | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Не забудь до 19.01.2068 исправить эту функцию
В 03:14:08 она превратится в тыкву. |
Re: Как получить дату | |
---|---|
AngelOKES Автор Сообщений: 828 Дата регистрации: 08.02.2012 |
- возвращает CTOBIN(0h28e90c00,"4RS") = 846120, а надо 686361600 |
Re: Как получить дату | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Что то напутано в твоём первом посте. Там не получится 686361600. Убери 'R'. Исправлено 1 раз(а). Последнее : Taran, 11.10.21 10:12 |
Re: Как получить дату | |
---|---|
AngelOKES Автор Сообщений: 828 Дата регистрации: 08.02.2012 |
Теперь то что нужно! Не понял что у меня напутано? CTOBIN(0h28e90c00,"4S") = 686361600, всё отлично |
Re: Как получить дату | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Если строку 0h28... разложить по алгоритму первого поста, то она даст 84... Получилось и ладно. |
Re: Как получить дату | |
---|---|
AngelOKES Автор Сообщений: 828 Дата регистрации: 08.02.2012 |
Не знаю, у меня всё сходится и с алгоритом первой записи и с последним алгоритмом.
вы порядок байт точно не попутали, можно просто даже взять откртыь калькулятор в винде и занести туда и посмотреть результат порядок байт справа налево |
Re: Как получить дату | |
---|---|
Taran Сообщений: 13623 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Да вроде не попутал.
Ну да не суть важно. Решение вроде найдено и ОК. |
© 2000-2024 Fox Club  |