Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / как через в ява преобразовать c++ DOUBLE в oraкловую DATE? / 6 сообщений из 6, страница 1 из 1
18.04.2006, 17:05
    #33674187
мюнх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
...
Рейтинг: 0 / 0
18.04.2006, 18:06
    #33674448
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
Что представляет из себя значение "c++ DOUBLE"?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
19.04.2006, 06:54
    #33675136
мюнх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
пресловутовый виндксовый FILETIME
...
Рейтинг: 0 / 0
19.04.2006, 13:22
    #33676363
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
Я не знаком, что это такое:) Но для работы с оракловым типом DATE используются явовские java.sql.Date или java.sql.Timestamp. Для того, чтобы сформировать их значения и передать в базу, можно использовать, к примеру, следующее:
Код: plaintext
1.
2.
Date date =  new  Date(Calendar.getInstance().getTimeInMillis());
Timestamp ts =  new  Timestamp(Calendar.getInstance().getTimeInMillis());
Где getTimeInMillis() - количество миллисекунд с 1 января 1970 по UTC, начало эпохи. Если твой FILETIME считается примерно так же, то можно передать соответствующее число в вышеуказанные конструкторы.

Другой вариант - в Оракле можно прибавлять числа к DATE, где единица равняется одному дню, т.е.
Код: plaintext
to_date('01.01.1970', 'dd.mm.yyyy') +  1 
равно 2 января 1970.
...
Рейтинг: 0 / 0
19.04.2006, 15:16
    #33676865
мюнх
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
The FILETIME structure is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601.
typedef struct _FILETIME { // ft
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME;

Members
dwLowDateTime
Specifies the low-order 32 bits of the file time.
dwHighDateTime
Specifies the high-order 32 bits of the file time.

Remarks
It is not recommended that you add and subtract values from the FILETIME structure to obtain relative times. Instead, you should
· Copy the resulting FILETIME structure to a LARGE_INTEGER structure.
· Use normal 64-bit arithmetic on the LARGE_INTEGER value.

Ваши рекомендации не подходят :(
...
Рейтинг: 0 / 0
19.04.2006, 15:21
    #33676877
Евгений Путилин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
Способ хранения времени в double используется с тех времен когда __int64 C++ не было. Поэтому для преоброзованя надо просто привести к типу long. Только надо учитывать про прямой и обратны порядок байт в слове.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / как через в ява преобразовать c++ DOUBLE в oraкловую DATE? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]