将日期字符串转换为适用于PostgreSQL的日期时间格式

5

I have a date string in the format,

"dd/mm/yyyy"
e.g="23/2/2017"

我该如何将这个值转换为有效的格式,以便我可以将其保存在postgresql的Datetime字段中。

我尝试使用datetime包,但没有成功。


4
PostgreSQL 没有 "Datetime field of PostgreSQL" - 请提供确切的命令和错误信息。 - Vao Tsun
这是在Postgresql中,valid_from_date - 带有时区的时间戳而在Django模型文件中,我正在编写,valid_from_date = models.DateTimeField(blank=True,null=True) - Bhimasen
为了回答你的问题,我需要在你的数据库上运行 show datestyle 命令并获取输出。 - Vao Tsun
2个回答

9

在Postgres中,您可以“调整”日期样式,例如:

t=# set datestyle TO DMY;
SET
Time: 0.215 ms
t=# select '23/2/2017'::timestamptz;
      timestamptz
------------------------
 2017-02-23 00:00:00+00
(1 row)

或者使用正确的掩码(忽略不适合的日期格式)进行“解析”,例如:

t=# select to_timestamp('23/2/2017','DD/MM/YYYY');
      to_timestamp
------------------------
 2017-02-23 00:00:00+00
(1 row)

2
ALTER TABLE <tablename> ALTER COLUMN <columnname> TYPE DATE using to_date(<columnname>, 'DD-MM-YYYY');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接