• ベストアンサー

JSTのDateオブジェクトが作りたい

「JST」の日付オブジェクトを作りたいのですが、 どうすれば良いでしょうか? java.util.Dateクラスを new Date() でオブジェクトを作ると Thu Jul 23 19:47:50 UTC 2009 と、UTCになってしまいます...。

  • Java
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • tom11
  • ベストアンサー率53% (134/251)
回答No.2

こんにちは、 環境が、違うのかな、私の環境では、デフォルトで JSTなのですが。 製品バージョン: NetBeans IDE 6.7 (Build 200906241340) Java: 1.6.0_14; Java HotSpot(TM) Client VM 14.0-b16 システム: x86 上で動作する Windows XP バージョン 5.1; MS932; ja_JP (nb) 以下のコード System.out.println(new Date()); TimeZone.setDefault(TimeZone.getTimeZone("UTC")); System.out.println(new Date()); TimeZone.setDefault(TimeZone.getTimeZone("JST")); System.out.println(new Date()); これを実行すると Fri Jul 24 09:11:46 JST 2009 Fri Jul 24 00:11:46 UTC 2009 Fri Jul 24 09:11:46 JST 2009 と言う結果になります。 タイムゾーンを変える必要が、あるみたいですね。

seimeitai
質問者

お礼

大変参考になりました!! 問題解決です。 本当にありがとうございました!!

その他の回答 (1)

回答No.1

http://java.sun.com/j2se/1.5.0/docs/api/java/util/Calendar.html#Calendar%28java.util.TimeZone,%20java.util.Locale%29 http://java.sun.com/j2se/1.5.0/docs/api/java/util/Calendar.html#getTime%28%29 CalendarクラスのコンストラクタでTimezoneとLocaleを指定して getTimeメソッドを実行したらどうなる? #JDKがないので検証はしてない。

関連するQ&A

  • Date型からDate型への変換

    Date型の変換について質問です。 Date dt = new Date(); とすると「Thu Jan 25 14:41:33 JST 2007」のような内容のDateオブジェクトが生成されますよね。 これを「2007-01-25 14:41:33.000115」のようにDBでよく使用される形式のDateオブジェクトに変換したいんです。 SimpleDateFormatのformatメソッドを使用して String文字列「2007-01-25 14:41:33.000115」に変換して SimpleDateFormatのparseメソッドを使用すれば 上手くいくかと思ったのですが 「Thu Jan 25 14:48:09 JST 2007」というDateオブジェクトが返されてしまいます。 どのようにすれば期待する動作を実現できるでしょうか? 初歩的な質問かもしれませんが、 有識者の方々ご教授いただけますでしょうか。

    • ベストアンサー
    • Java
  • Date型オブジェクトから日付のみ取得し、Integer型にしたい

    Date型のオブジェクトから日付(ddの部分)を取得し、 その取得した日付をInteger型に変換して、Integerオブジェクトに入れたいのですが・・ うまく説明できないですが、例えば 「2002/8/12」の値を持つDate型オブジェクトから、 日付の「12」を取得し、Integer型オブジェクトに入れる→new Integer(12); という事をしたいんです。 Date型オブジェクトから日付のみ取得する方法を ご存知の方、教えて下さい。

    • ベストアンサー
    • Java
  • Dateオブジェクトの大小比較のしかた?

    こんにちは,よろしくお願いします。 Dateオブジェクトを次のように作成しました。 var today = new Date(2008,8,21); var theday = new Date(2008,8,21); このようにすれば,同じ日付になると思うのですが, if(today == theday){ alert("=="); }else{ alert("!="); } として,判定すると != が表示されます。Dateオブジェクトの大小判定(日付の前後の比較)はどのように行うのでしょうか?(できないのかな???) 教えていただきたいと思います。よろしくお願いします。

  • ファイル内の日付から1週間前までの行を消す方法

    ファイル内に、 Thu Jul 17 10:51:46 JST 2003 : bbb Thu Jul 24 13:21:40 JST 2003 : c Thu Jul 24 14:51:46 JST 2003 : d のようなデータが保存されます。 このファイル内のデータ(行)を、起動した日の1週間前 までのデータを削除したいのです。 (このデータの場合、1行目のbbbが消される) Bシェルでプログラミングしたいのですが、どのようにすればよいのでしょうか? 教えてください。

  • java.util.Dateについて

    まずは下記ソースを参照してください。 import java.util.Date; import java.util.GregorianCalendar; import java.util.Calendar; public class Test{     public static void main( String args[] ){         GregorianCalendar cal = new GregorianCalendar(2004, 5, 31);         System.out.println("年:" + cal.get(Calendar.YEAR));         System.out.println("月:" + cal.get(Calendar.MONTH));         System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));         System.out.println(); // ただの改行         System.out.println("比較:" + new Date().compareTo(cal.getTime()));     } } 上記ソースについて質問です。 1.「年」「月」「日」を表示しておりますが、本来ならば 「年:2004」 「月:5」 「日:31」 と表示されると思っておりましたが実際は、 「年:2004」 「月:6」 「日:1」 と表示されてしまいます。 なぜでしょうか? 2.12行目にてjava.util.DateクラスのcompareToメソッドを用いて、 現在日付(2004/5/28)と7行目で指定している日付の比較をしていますが、 7行目で設定している日付を現在日付よりも前後に設定して実行させても、 「-1」しか返りません。 なぜでしょうか? 環境は、 J2SDK:1.4.2 OS:Windows XP Pro です。

    • ベストアンサー
    • Java
  • JavaのDateクラスについて教えてください.

    下のプログラムを実行すると, Date : Mon Jan 30 15:30:00 JST 2006 となります. 私としては,Apr となることを期待するのですが, おかしいでしょうか? Javaの環境は,jdk1.5.0_05 です. // ここから import java.text.SimpleDateFormat; import java.util.Date; public class DateTest { public static void main(String[] args) throws Exception { String dateStr = "2006/04/30 15:30"; Date date = new SimpleDateFormat("yyyy/MM/DD HH:mm").parse(dateStr); System.err.println("Date : " + date); } }

  • オブジェクトの作成

    あるHPで以下のようなことがかかれていました。 ------------------------------------------------- この例では Java 環境ですでに存在するクラスからオブジェクトを作成する。しばしば、 Java オブジェクトは次のような文で作成される。 Date today = new Date(); これにより、新規 Dateオブジェクトが作成される。 ------------------------------------------------- で、どれがオブジェクトなんですか? todayがオブジェクトなんでしょうか? BASICならわかるのですが、オブジェクト指向ってさっぱりまかりません。だれか助けてください。

    • ベストアンサー
    • Java
  • Dateにnewを付与せず(関数として)呼び出した

    Dateにnewを付与せず(関数として)呼び出した場合、下記のようになるみたいですが、何故でしょうか? ・引数がない場合 → 現在の時間(UTC)を表す文字列を返す ・引数あり→引数を無視して、同上 ■質問1 ・この決まりは、「MDN」もしくは「msdn」リファレンスだとどこに記載されているでしょうか?(「ECMA」には記載されているのですが、リファレンス的にどういう位置付けになっているかを確認したいです) ・オブジェクトを生成せず呼び出せるからには、「Date();」関数がどこかに記載されていると思ったのですが、探したけど見つかりません ▽Global オブジェクト   http://msdn.microsoft.com/ja-jp/library/cc427717.aspx ■質問2 >Date オブジェクトに一切パラメータを渡さなかった場合は、オブジェクトは現在の時刻 (UTC) で初期化されます ▽Date オブジェクト   http://msdn.microsoft.com/ja-jp/library/cc427714.aspx ・と言うことは、Date オブジェクトを生成しなくても、「Date();」すると、結局、ここ(Date オブジェクト)に辿り着くのでしょうか? ・「Date();」関数は、どこにあるのでしょうか?(どこに所属してる? UTCが返ってくる理由を知りたい)

  • サーバーのdateをUTCにする方法

    ネット調べてJSTからUTCに変更しましたが、表示はJSTのまま。ほかの設定のところ、又は別の原因、経験お持ちの方、教えてください。 やったこと: (1)rootになって、/rootの位置から/etc/localtimeを削除し、新しいソフトリンクを作る。 ln -s /usr/share/zoneinfo/UTC /etc/localtime (2)/etc/sysconfig/clockをviで開いて、以下の様に設定する。 ZONE="UTC" --> もともとはAsia/Tokyoだった。 UTC=true ARC=false 以上で、成功した場合、dateコマンドでUTCになったことが確認できますよね。 私の場合、表示はJSTのまま。 Wed Nov 27 22:26:03 JST 2013 clockコマンド実行すると、おかしいこと(面白いこと?)起きる。 ようは、 Wed 27 Nov 2013 01:26:57 PM JST -0.751004 seconds のように表示されて、時間表示=「01:26:57 PM」=は合っています。ただし、”UTC”でなく”JST”になっています。

  • java.util.Date()メソッドについて

    Javaによるプログラミングについて、初歩的な部分で質問があり投稿させていただきました。 使用しているOSはWindowsXP Homeです。 現在PCにインストールされているJDKのバージョンはjdk1.6.0_03、JREのバージョンはjre1.6.0_03です。 Javaプログラムのコードはメモ帳で記述し、コマンドプロンプトからjavacでコンパイルを行っています。 さて、 System.out.println(new java.util.Date()); のようなコードを書いてコンパイルし実行した場合に、表示される時間がJSTではなくGMTになってしまい困っています。 java.util.Calenderを用いれば解決することは分かっているのですが、どうにも気になってしまったので、何か解決する術があればと思い、質問させていただきました。 ちなみに、システムのタイムゾーンは東京になっています。

専門家に質問してみよう