Добрый день. Есть база Oracle, в ней таблица, один из столбцов - в формате date. В php цепляюсь к тыблице и выбираю из нее инфу. $sql = "select num, date_t from input_log t"; $sql_statement = ociparse($con,$sql); ociexecute($sql_statement); echo "<TABLE>"; while (ocifetch($sql_statement)) { echo "<TR>"; $Col1=ociresult($sql_statement,1); $Col2=ociresult($sql_statement,2); echo "<TD>$Col1</TD>"; echo "<TD>$Col2</TD></TR>"; echo "<TABLE>"; в итоге на странице выдается дата в формате 01-NOV-06 Как сделать, чтобы ее формат был 01.11.2006 14:31:16 или 09 ноября 2006 14:31:16?
либо посмотреть в документации по Oracle функции для локализации и форматировани даты, либо распарсить строковыми функциями пхп и сформатировать заново. А ты думал, есть какие-то другие пути?
Можно еще так: ALTER SESSION SET NLS_DATE_FORMAT = '....' ALTER SESSION SET NLS_TIME_FORMAT = '....' До завершения сессии дата и время будут обрабатывать в указанном формате.
Спасибо! Была та же проблема с датой при вытаскивании даты из Оракла. Записал в конф.файле последней строчкой: <?php require_once 'adodb.inc.php'; $db = NewADOConnection('oracle'); $db->Connect(FALSE, 'xxxxxx', 'xxxx', 'xxxx'); $db->SetFetchMode(ADODB_FETCH_ASSOC); $db->Execute("ALTER SESSION SET NLS_DATE_FORMAT='dd.mm.yyyy hh24:mi:ss'"); ?> а в темпле Smarty: .... <% if $key eq "DATE_" %> <td style="width: 79px; text-align: center;"> <% $item|date_format:'%d.%m.%y<br>%H:%M:%S'|default:'NULL' %> </td> ... и все образовалось