Oracle日期在python中转换为datetime

时间:2016-12-28 11:55:41

标签: python oracle datetime

当我在oracle中使用trunc函数并在oracle developer中运行查询时,我只从datetime字段中获取日期值。例如,低于查询

Select trunc(min(Transaction_Date)) as StartDate,
                trunc(Max(Transaction_Date)) as EndDate
                from table1

返回

29-feb-2016 02-oct-2016

但在python中使用时相同的查询并打印到输出文件

print("start",row[0])
print("end",row[1])
dateperiod=str(row[0]).strip() + " - " + str(row[1]).strip()
print("date period :", dateperiod)

输出

('start', datetime.datetime(2016, 2, 29, 0, 0))
('end', datetime.datetime(2016, 10, 2, 0, 0))
('date period :', '2016-02-29 00:00:00 - 2016-10-02 00:00:00')

我需要的输出是2016-02-29 - 2016-10-02。不知道为什么它改变了python中的格式。请帮助解决正确的解决方案

尝试使用to_date(min(Transaction_Date),'YYYY-MM-DD')但奇怪的是输出没有变化。

2 个答案:

答案 0 :(得分:1)

只需格式化您想要的格式:

dateperiod = "{0:%Y-%m-%d} - {1:%Y-%m-%d}".format(row[0], row[1])

答案 1 :(得分:0)

我认为在代码中从oracle格式化日期值时,另一个答案也是有意义的。但对我来说,char类型就足够了。所以使用如下,它们都是相同的

to_char(min(Transaction_Date),'DD-MM-YY') as MinDate,