У меня есть временные метки из Oracle, хранящиеся в файле CSV с типом данных long. Эта временная метка генерируется с помощью функции Java getTime(), см. https://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html
Временная метка выглядит, например, так: 1723207241234. В документации Oracle я нашел, что это миллисекунды с 1 января 1970 года, 00:00:00 по Гринвичу.
Итак, мне нужно проанализировать временную метку, созданную с помощью функции Java в Oracle (получить дату и время из временной метки), и сохранить эти значения в таблицах SAS. Есть ли способ сделать это?
🤔 А знаете ли вы, что...
Java - это объектно-ориентированный язык программирования.
SAS хранит дату и время с секунд, начиная с 1 января 1960 года, 00:00:00 по Гринвичу. Чтобы преобразовать это значение в дату и время SAS, необходимо добавить 10 лет к значению даты и времени Unix в секундах. '01JAN1970:00:00'dt
в SAS конвертируется в 10 лет в секундах.
data want;
time = 1723207241234/1000 + '01JAN1970:00:00'dt;
format time datetime20.;
run;
time
09AUG2024:12:40:41