Улучшение компактного месяца в psql - PullRequest
0 голосов
/ 15 августа 2011

У меня есть сжатая строка даты, например, «201001», представляющая январь 2010 года. ,,

по прежним причинам, я не могу изменить способ хранения даты, но хочу восточный способ увеличить дату на месяц.если бы это был тип даты, я мог бы использовать дату (compactdate + интервал '1 месяц'), но преобразовав ее в тип date, возвращает 2020 10 01 ..

Ответы [ 2 ]

0 голосов
/ 05 декабря 2012

В конце концов, единственное решение, которое я нашел, было грязное, но, по сути, просто по модулю, вероятно, это потому, что дата не должна была быть в системе в таком формате, особенно в виде строки

select (('201112'::int / 100) + ((('201112'::int % 100) +1) / 12) )*100  + ((('201112'::int % 100) +1) % 12);
0 голосов
/ 16 августа 2011

время импорта из даты / времени; импорт даты / времени из dateutil.relativedelta. Импорт относительной дельты

печать "Введите дату в формате (гггм)"

response_date = raw_input ()

new_date =datetime.strptime (response_date, '% Y% m') + относительная дельта (месяцы = +1)

печать «новой даты», новая_дата

вывод: -

turkesh@ turkesh-desktop: ~ / рабочий стол / py файлы $ python date2.py

Введите дату в формате (гг / мм / дд)

201001

новая дата 2010-02-01 00: 00: 00

turkesh @ turkesh-desktop: ~ / Рабочий стол / py файлы $

...