Yii2 Oracle日期列

rwqw0loc  于 2022-11-09  发布在  Oracle
关注(0)|答案(2)|浏览(122)

我试图在Yii 2框架中使用GridView小部件显示一个包含日期列的表。
oracle表中很少有特定的列包含日期和时间(其余的只有日期),但在提取数据时,默认情况下我只得到DD-MM-YYYY,即使在SQL Developer中运行查询,我也得到相同的结果,除非我专门使用to_char()函数运行它。
从表中选择to_char(列,“日.月.年HH 24:MI:SS”);
将显示完整的数据,我是相当新的Oracle数据库,所以我不知道如何正确地显示在Yii 2。
如果我使用Yii 2格式化程序,那么它在检索日期后将其格式化为DD-MM-YYYY格式,这将导致时间为00:00:00,而不是实际时间。
有什么建议吗?
谢谢你!

ncgqoxb0

ncgqoxb01#

在SQLDeveloper中运行查询时,我得到的结果是相同的,除非我专门使用to_char()函数运行它。
您应该修改SQLDeveloper中的日期格式,以便它也显示时间组件;默认情况下,它显然只返回日期。2它的格式是(对于17. 4版本)工具-首选项-数据库- NLS -日期。
或者,正如您所注意到的,使用带有适当格式掩码的TO_CHAR。
我不知道Yii 2,也不知道如何设置那里的日期格式,对不起。

mftmpeh8

mftmpeh82#

我这样解决了问题:

public static function getRightDate($period)
{
    $day = substr($period,0,2);
    $mon = substr($period,3,2);
    $year = '20'.substr($period,6,2);

    return $day.'.'.$mon.'.'.$year;
}

相关问题