プロが教えるわが家の防犯対策術!

WindowsServer2012とWindows8から日付フォーマットが変更されているようです。
WEBサーバにWindowsServer2012を利用してSQLServer2000のDatetime型の日付データを取得しているのですが、以前利用していたWindowsServer2003と日付取得フォーマットが変更されているようです。

Server2003の場合:2009 1 1 9:38 
Server2012の場合:01 1 2009 9:38AM

サーバの設定を変更することでServer2003形式に戻すことは可能でしょうか?
それともSQLで取得時フォーマットしなくてはならないでしょうか?
プログラム本数がたくさんあるのでできればOS設定で解決できればと思っています。

もしご存じの方おられましたらご教授のほどお願い致します。

A 回答 (2件)

その構成だと、WindowsServerは関係無く、PHPとSQLServerとのやりとりに問題があるのでは?


PHPのバージョン、(MSSQLを使っているのなら)そのバージョン、
http://www.php.net/manual/ja/mssql.configuration …
あたりは大丈夫ですか?
    • good
    • 0

OSで変わってしまったら困ります。


どこかで勘違いしているのではないでしょうか?
ひとまず、WindowsServerとSQLServerは別物です。

・SQLServerはどのバージョンですか?
SQLServer2000はWindowsServer2012に対応していないのでは?
・データの取得方法は?
http://technet.microsoft.com/en-us/library/aa226 …
を読む限り、SQLServer2000でもデフォルトは「mon dd yyyy hh:miAM (or PM)」です。
逆に「yyyy mon dd h:m」となるような書式は標準にはありません。
どこかで変換が入っていませんか?例えば、Accessで取得した後の、Accsessでの書式設定、とか。

この回答への補足

言葉足らずで申し訳ございません。
実はDBサーバとWEBサーバは別で、
問題になっているサーバ(WindowsServer2012)はIIS(PHP)のみインストールされており、
SQLServer2000は別サーバ(WindowsServer2003)でIIS(PHP)から接続してデータを取得しております。

PHPからDB(SQLServer2000)へ接続して取得した直後のデータが以下のようになります。(SQLでCONVERTなど変換は行っていません。)
旧WEBサーバ(Server2003)の場合:2009 1 1 9:38 
新WEBサーバ(Server2012)の場合:01 1 2009 9:38AM

こういう記事があったので、ヒントになればと思ったのですが、設定しても変化無かったです。
http://support.microsoft.com/kb/2905782/ja

補足日時:2014/06/03 11:10
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!