- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SSH起動時のDateFormat(日付型))
SSH起動時のDateFormat(日付型)
このQ&Aのポイント
- 現在、JAVAで作成した処理をバッチで起動する際に、SSHを使用すると日付型の処理でエラーが発生します。
- shコマンドを使用してバッチを起動する場合は問題ありませんが、sshコマンドを使用すると日付フォーマットが変わってしまうため、エラーが発生します。
- 同じ問題に悩んでいる方へのヒントや解決策を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
TeraTtermの接続(Telnet?)やWEBサーバの場合と、ssh接続時ではデフォルトロケール等の設定が違っていませんか? これが違うと、デフォルトの日付の書式が変わってきます。 ロケールを統一したいときは、 ・引数ありのgetDateTimeInstanceに、ロケールを渡す ・システム起動時に、Locale.setDefault()でデフォルトを統一 ・Test.rshなどの起動シェルで、ロケール情報を設定する 書式を完全に統一したいときは、SimplaDateFormatを直接newしましょう。 "2005/09/16 0:00:00"の場合、 java.text.DateFormat parser = new java.text.SimpleDateFormat("yyyy/MM/dd H:mm:ss"); とすれば、解析できると思います。
お礼
ありがとうございます。そのとおりでした。 まさか、SSH独自でロケールの設定が必要とは知りませんでした。 SSHのロケールの設定が行われていなかったため、時間の設定がデフォルトの世界表示(?)となり、DateFormatでエラーとなっていました。 SSHのロケール設定を日本語にしたら直りました。 SimplaDateFormatは最終手段として考えていたのですが、変換を利用している関数は、Utilなので、影響範囲が大きくあまり手を加えたくなかったのでよかったです。 回答ありがとうございました。