powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
6 сообщений из 6, страница 1 из 1
как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
    #33674187
мюнх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
    #33674448
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что представляет из себя значение "c++ DOUBLE"?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
    #33675136
мюнх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пресловутовый виндксовый FILETIME
...
Рейтинг: 0 / 0
как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
    #33676363
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не знаком, что это такое:) Но для работы с оракловым типом 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
как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
    #33676865
мюнх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
    #33676877
Евгений Путилин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Способ хранения времени в double используется с тех времен когда __int64 C++ не было. Поэтому для преоброзованя надо просто привести к типу long. Только надо учитывать про прямой и обратны порядок байт в слове.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / как через в ява преобразовать c++ DOUBLE в oraкловую DATE?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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