2012-08-06 14 views
5

Po przeniesieniu aplikacji na nowy serwer z aktualizacji oprogramowania (przeniesiony z PHP 5.2.17 -> 5.3.15, FreeTDS 0,64 -> 0,82)FreeTDS Format czasu dziwne data

SELECT GETDATE() 

i wszelkie inne funkcje datetime/kolumn produkuje coś podobnego do:

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

wiem, że mogę używać convert w select, ale istnieje wiele procedur przechowywanych w dB, że nie mogę zmienić.

Próbowałem zmienić /etc/locales.conf i ustawienie date format = %Y-%m-%d %H:%M:%S i używając ini_set('mssql.datetimeconvert',1); ale freetds wydaje się go ignorować i zwraca Aug 06 2012 09:33AM

Czy istnieje sposób, aby odzyskać kolumny datetime w formacie standardowym, bez modyfikowania każdego zapytania?

Odpowiedz

4

Rozwiązałem ten problem w pewien brutalny sposób - zmieniono date format we wszystkich lokalizacjach w /etc/locales.conf, nie wiem, który działał, ale jestem prawie pewien, że żaden z nich nie był używany jako lokalizacja systemowa.

Zresztą używając datetimeconvert nie jest zalecane, a wyłączona w niektórych bibliotekach db warstwy abstrakcyjne (ADODB w tym przypadku), więc nadal jestem zainteresowany, czy istnieje jakiś sposób, aby wyświetlić odpowiedni czas data

+0

Dzięki za rozwiązanie! – Fractaliste