2012-08-06 15 views
5

Dopo essersi trasferito applicazione ai nuovi server con software aggiornato (spostati da PHP 5.2.17 -> 5.3.15, FreeTDS 0,64 -> 0.82)FreeTDS strana data Formato ora

SELECT GETDATE() 

e qualsiasi altra funzione datetime/colonna produce qualcosa di simile a:

2012-06-219 51:527: 
// proper time: 2012-08-06 09:33:02 

so che posso usare convert a selezionare, ma ci sono molti stored procedure nel DB che non posso cambiare.

Ho provato a cambiare /etc/locales.conf e l'impostazione date format = %Y-%m-%d %H:%M:%S, e l'utilizzo di ini_set('mssql.datetimeconvert',1); ma FreeTDS sembra ignorarlo e restituisce Aug 06 2012 09:33AM

C'è un modo per recuperare colonne datetime in formato standard, senza modificare ogni query?

risposta

4

Ho risolto questo problema in una sorta di modo di forza bruta - modificato /etc/locales.conf in /etc/locales.conf, non so quale funzionava, ma sono abbastanza sicuro che nessuno di questi è stato utilizzato come locale di sistema.

In ogni caso, utilizzando datetimeconvert non è consigliato, e spento in alcune librerie strato astratti db (adodb in questo caso) quindi sono ancora interessato se non v'è alcun modo per rendere una corretta visualizzazione di data e ora

+0

Grazie per la soluzione! – Fractaliste