我想从一个列的纪元时间中选择日期(可读字符串),这些列在postgres中有long
毫秒的时间,如
select *, to_date(time in milli sec) from mytable
怎么办?
答案 0 :(得分:28)
使用
select *, to_timestamp(time in milli sec / 1000) from mytable
有关参考,请参阅http://www.postgresql.org/docs/9.0/static/functions-formatting.html
上的postgres文档答案 1 :(得分:17)
SELECT timestamp 'epoch' + time_in_millisec * interval '1 ms'
FROM mytable;
请参阅manual here.
答案 2 :(得分:2)
毫秒
SELECT timestamp 'epoch' + proyecto.fecha_inicio * interval '1 ms'
from proyecto.proyecto
where proyecto.fecha_inicio is not null
秒数
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 982384720 * INTERVAL '1 second';
在手册中:http://www.postgresql.org/docs/current/interactive/functions-datetime.html。
行:.."以下是如何将纪元值转换回时间戳" ..
答案 3 :(得分:0)
最初的问题与日期数据类型有关,但是到目前为止,所有答案都与时间戳数据类型有关。
将毫秒转换为日期的一种方法是:
<?xml version="1.0" encoding="utf-8"?>
<xml>
<test tag="2"/>
<test tag="1"/>
</xml>
这似乎使用为数据库定义的时区