Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 how to convert date ?  [new]
SunJun
Member

Откуда:
Сообщений: 135
Hi.

I have problem with date such is '1240399524538'

how to convert it to format dd/mm'yyyy

Thnaks in advance
15 ноя 11, 16:03    [11600637]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
Vint
Member

Откуда: Москва
Сообщений: 4564
милисекунды?
15 ноя 11, 16:16    [11600774]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
timestamp to date
Guest
SunJun,
Which problem?

SQL> select TO_DATE('19700101000000','YYYYMMDDHH24MISS') + NUMTODSINTERVAL(1240399524538, 'SECOND') from dual;

TO_DATE('19700101
-----------------
38-01-19 03:14:09
15 ноя 11, 16:17    [11600781]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
SunJun
Member

Откуда:
Сообщений: 135
I'm sorry but result must be 04/22/2009 16:25:24. :)
So is there any other version? :)
15 ноя 11, 16:24    [11600842]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
Vint
Member

Откуда: Москва
Сообщений: 4564
мда... не зря я задал первый вопрос)))
в каких единицах измеряем?
от какого года?)
15 ноя 11, 16:27    [11600876]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
SunJun
Member

Откуда:
Сообщений: 135
Vint,

Really don't know :)
I have db from indians with mentioned dates :), so I need to convert it to date format which we all can understand. :)
15 ноя 11, 16:34    [11600944]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
-2-
Member

Откуда:
Сообщений: 15330
select date '1970-01-01'+1234567890000/86400000 from dual;

DATE'1970-01-01'+1234567890000/86400000 
------------------------- 
13.02.2009 23:31          
15 ноя 11, 16:38    [11600972]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
Vint
Member

Откуда: Москва
Сообщений: 4564
все карты уже на руках.
04/22/2009 16:25:24 дата которая должна получится из 1240399524538
и функции TO_DATE и NUMTODSINTERVAL, за Вас сделать перебор и угадать что же там индусы сделали?) лениво....
15 ноя 11, 16:40    [11600981]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
Vint
Member

Откуда: Москва
Сообщений: 4564
-2-
ну вот. пришел. угадал. и всю интригу испортил)
15 ноя 11, 16:41    [11600993]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
timestamp to date
Guest
SQL> alter session set NLS_DATE_FORMAT='MM/DD/RRRR HH24:MI:SS';

Session altered.

SQL> select TO_DATE('01011970000000','MMDDYYYY HH24MISS') + NUMTODSINTERVAL(1240399524538/1000, 'SECOND') from dual;

TO_DATE('0101197000
-------------------
04/22/2009 11:25:24
15 ноя 11, 16:56    [11601109]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
SunJun
Member

Откуда:
Сообщений: 135
-2-,

Thank you! :)
15 ноя 11, 16:59    [11601140]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
timestamp to date
Guest
плюс еще поправку на часовой пояс добавить. ;-)
15 ноя 11, 17:00    [11601147]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
SunJun
Member

Откуда:
Сообщений: 135
Thank you all guys. Problem solved :)
15 ноя 11, 17:05    [11601199]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
-2-
Member

Откуда:
Сообщений: 15330
timestamp to date
плюс еще поправку на часовой пояс добавить. ;-)
select (timestamp '1970-01-01 00:00:00 UTC'+ numtodsinterval(1240399524538/1000, 'second')) at time zone 'Indian/Maldives' from dual;

(TIMESTAMP'1970-01-0100:00:00UTC'+NUMTODSINTERVAL(1240399524538/1000,'SECOND'))ATTIMEZONE'INDIAN/MALDIVES' 
---------------------------------------------------------------------------------------------------------- 
22.04.09 16:25:24,538000000 INDIAN/MALDIVES                                                                

15 ноя 11, 17:22    [11601332]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
-2-
timestamp to date
плюс еще поправку на часовой пояс добавить. ;-)
select (timestamp '1970-01-01 00:00:00 UTC'+ numtodsinterval(1240399524538/1000, 'second')) at time zone 'Indian/Maldives' from dual;

(TIMESTAMP'1970-01-0100:00:00UTC'+NUMTODSINTERVAL(1240399524538/1000,'SECOND'))ATTIMEZONE'INDIAN/MALDIVES' 
---------------------------------------------------------------------------------------------------------- 
22.04.09 16:25:24,538000000 INDIAN/MALDIVES                                                                


ага. добавить часовой пояс и, уже хоть и щщас ~ на ипотеку лет на 30 подписаться.
:)
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management,
OLAP,
Data Mining and Real Application Testing options

SQL> exec dbms_session.set_nls('nls_date_format','"dd.mm.yyyy hh24:mi:ss"')

Процедура PL/SQL успешно завершена.

SQL>
SQL> select date '1970-01-01' + numtodsinterval(214e7, 'second') d
  2    from dual;

D
-------------------
24.10.2037 12:26:40

SQL>
SQL> select date '1970-01-01' + numtodsinterval(215e7, 'second') d
  2    from dual;
select date '1970-01-01' + numtodsinterval(215e7, 'second') d
                                           *
ошибка в строке 1:
ORA-01873: главная точность интервала слишком мала
15 ноя 11, 17:42    [11601488]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
timestamp to date
Guest
orawish,

Ой, что это было?
15 ноя 11, 17:46    [11601527]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
-2-
Member

Откуда:
Сообщений: 15330
timestamp to date
Ой, что это было?
2^31
15 ноя 11, 17:49    [11601557]     Ответить | Цитировать Сообщить модератору
 Re: how to convert date ?  [new]
/ / /
Guest
ну цивилизованный posix переходит на uint64_t
15 ноя 11, 18:01    [11601663]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить