Oracle 数据库中日期的 PHP 格式

use*_*752 3 php oracle

我将日期存储在CREATEDusing下的数据库中select sysdate from dual,它将存储9/12/2012 9:26:05 AM我想要的值。

但是,当我使用 PHP(例如$query[0]['CREATED'])检索信息时,它返回12-SEP-12

我怎样才能防止这种情况?

Ósc*_*ñiz 5

为了完整起见,您可以在开始时设置连接,以便从那一刻起始终以特定格式检索日期,如下所示:

// Typical connection boilerplate
$conn_string = $config['engine'] . ':host=' . $config['host'] . ';port=' . $config['port'] . ';dbname=' . $config['dbname'] . ';charset=utf8';

$db = new PDO($conn_string,
    $config['username'],
    $config['password']
);

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// This is where you prepare your session
// For your case, the format should be 'dd/mm/yyyy hh:mi:ss am' as stated on the previous answers
$db->query("ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY HH24:MI:SS'");
Run Code Online (Sandbox Code Playgroud)

这样您就可以执行 general SELECT *,而不必每次都担心特定DATE列的格式。