2015-03-20 1 views
0

Я использую postgres для приложения rails, и у меня есть unix timestamp в postgresql db. У меня есть требование выбрать и group bydd-mm-yyyy и по month name.Извлечение даты, месяца, года и месяца из отметки времени unix с postgresql

Рассмотрим У меня есть следующие Отметка времени Unix

и я должен был бы изменить это DateTime, и я использовал to_timestamp, возвращающей

2015-02-28 18:30:00 UTC

и я попытался преобразовать datetime в local timezone используя

:: метка времени без временной зоны AT TIME ZONE 'IST'

но не давали времени в требуемом часовом поясе, а вместо этого он вернулся

в

2015-02-28 16:30:00 UTC

и Я пытался получить часть даты с помощью ::date, возвращающей

Sat, 28 Feb 2015

Так, пожалуйста, помогите мне получить dd-mm-yyyy в указанном timezone и название месяца (март) от метки времени UNIX.

Спасибо заранее!

+0

'не возвращать время в требуемом timezone' - что делает его имею в виду? какое возвращение? –

+0

Я обновил результат: timestamp без часового пояса AT TIME ZONE 'IST' – logesh

+0

Будет ли это: 'select DATE (to_timestamp (1425148200))' быть тем, что вы хотите? Это приведет к возврату '2015-02-28', дата в формате, запрошенном вами. – cristian

ответ

1

выберите to_char (to_timestamp ('1425148200') :: timestamptz в часовом поясе 'UTC-5: 30', 'DD-MM-YYYY & конечно Месяц')

01-03-2015 & конечно марта

это Postgres ошибка, которую я предполагаю, что согласно http://www.postgresql.org/docs/7.2/static/timezones.html enter image description here

+0

Время, соответствующее «1425148200» в IST, «3/1/2015, 12:00:00 GMT GMT + 5: 30», но оно дает как 2015-02-28 20 : 30: 00 UTC – logesh

+0

использование известное различие? .. –

+0

http://www.timeanddate.com/time/zones/ist-israel –