Как переобразовать время в double?
От: Аноним  
Дата: 22.12.11 07:52
Оценка:
Добрый день.
Обращаюсь до специалистов Delphi так как сам пишу на другом языке.
Мне нужно формировать текстовый файл, в котором дата и время будут представлени в double формате Delphi.
Например:
3-Dec-09, 05:58:46 → 40150.2491460;
15-Oct-09, 04:16:50 → 40101.1783582.
Число до точки это дата, после это время переобразованые с DateTime в double.
Подкажите алгоритм переобразования, так чтобы я мог получить эти значения в другом языке.
время в double
Re: Как переобразовать время в double?
От: Danchik Украина  
Дата: 22.12.11 08:02
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Добрый день.

А>Обращаюсь до специалистов Delphi так как сам пишу на другом языке.
А>Мне нужно формировать текстовый файл, в котором дата и время будут представлени в double формате Delphi.
А>Например:
А> 3-Dec-09, 05:58:46 → 40150.2491460;
А>15-Oct-09, 04:16:50 → 40101.1783582.
А>Число до точки это дата, после это время переобразованые с DateTime в double.
А>Подкажите алгоритм переобразования, так чтобы я мог получить эти значения в другом языке.

В каком именно?
Для .NET это DateTime.FromOADate
Re: Как переобразовать время в double?
От: A2501  
Дата: 22.12.11 08:16
Оценка:
"The integral part of a TDateTime value is the number of days that have passed since 12/30/1899. The fractional part of a TDateTime value is fraction of a 24 hour day that has elapsed.

Following are some examples of TDateTime values and their corresponding dates and times:

0 12/30/1899 12:00 am
2.75 1/1/1900 6:00 pm
-1.25 12/29/1899 6:00 am
35065 1/1/1996 12:00 am"
Re: Как переобразовать время в double?
От: acDev Россия  
Дата: 22.12.11 08:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Подкажите алгоритм переобразования, так чтобы я мог получить эти значения в другом языке.


На сях:
__ftime32 ut;
ftime(&unixtime);
double dt = ut.time + (ut.millitm / 1000.0);
dt = dt / (24*60*60) + 25569.0;

На php:
$dt = (gettimeofday(TRUE) / (24*60*60)) + 25569;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.