powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Преобразование date в char
7 сообщений из 7, страница 1 из 1
Преобразование date в char
    #38562318
rostya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PostgreSQL 9.1.9. Linux. Наткнулся на такие грабли:
Код: sql
1.
select to_char(date '1993-05-23', 'YYYY-MM-DD')



Код: sql
1.
1993-05-22



Код: sql
1.
select (date '1993-05-23')::timestamp with time zone, (date '1993-05-23')::timestamp without time zone



Код: sql
1.
1993-05-22 23:00:00+07   |   1993-05-23 00:00:00



Временная зона в pg - системная, в операционке - Новосибирск.
Разница возникает только на этой дате. Это баг или фича? to_char(date '1993-05-23', 'YYYY-MM-DD') неверно?
...
Рейтинг: 0 / 0
Преобразование date в char
    #38562561
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rostyaВременная зона в pg - системная, в операционке - Новосибирск.Что Вы имеете ввиду?
...
Рейтинг: 0 / 0
Преобразование date в char
    #38562564
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rostya,

http://ru.wikipedia.org/wiki/Омское_время

авторВ 1990-х—2010-х годах в России произошёл повсеместный сдвиг часовых поясов в сторону Москвы. Регионы Западной Сибири, ранее находившиеся в зоне MSK+4, перешли на время MSK+3, присоединившись к омскому времени: Новосибирская область 23 мая 1993 в 00:00 , ...
...
Рейтинг: 0 / 0
Преобразование date в char
    #38562668
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"омское время" (рукалицо)
...
Рейтинг: 0 / 0
Преобразование date в char
    #38562675
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rostyaPostgreSQL 9.1.9. Linux. Наткнулся на такие грабли:
Код: sql
1.
select to_char(date '1993-05-23', 'YYYY-MM-DD')



Код: sql
1.
1993-05-22



Код: sql
1.
select (date '1993-05-23')::timestamp with time zone, (date '1993-05-23')::timestamp without time zone



Код: sql
1.
1993-05-22 23:00:00+07   |   1993-05-23 00:00:00



Временная зона в pg - системная, в операционке - Новосибирск.
Разница возникает только на этой дате. Это баг или фича? to_char(date '1993-05-23', 'YYYY-MM-DD') неверно?

если честно - это баго-фича...
так как функции to_char (date, text) в postgresql нет а есть функция to_char(timestamp with timezone, text)
то на самом деле у вас вызывается

не
Код: plsql
1.
select to_char(date '1993-05-23', 'YYYY-MM-DD')


а
Код: plsql
1.
select to_char((date '1993-05-23')::timestamp with timezone, 'YYYY-MM-DD')



с вполне ожидаемым ответом изза переноса timezone.... я попробую этот вопрос в рассылке поднять....
...
Рейтинг: 0 / 0
Преобразование date в char
    #38562810
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk,

+1
...
Рейтинг: 0 / 0
Преобразование date в char
    #38563190
rostya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ёш, Maxim Boguk, спасибо.

Честно говоря, результата первого поста не ожидал: время назад переводили каждый год и видно неспроста в 3 ночи. А тут в 00:00.
Вопрос исчерпан.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Преобразование date в char
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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