• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JAVAで時間の計算方法)

JAVAで時間の計算方法

このQ&Aのポイント
  • JAVAで文字列で表現された時刻から30分前を取得するプログラムを考えています。Calendarクラスのaddメソッドを使用して実現できますが、文字列をCalendarオブジェクトに変換する方法が不明です。
  • 時間を文字列で表現した変数から30分前の時刻を取得するJAVAのプログラムを作成したいです。Calendarクラスのaddメソッドを使うことで実現できますが、文字列をCalendarオブジェクトに変換する方法がわかりません。
  • JAVAで、文字列で表現された時刻から30分前の時刻を取得する方法について教えてください。Calendarクラスのaddメソッドを使って実現できると思いますが、文字列をCalendarオブジェクトに変換する方法がわかりません。

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

  • ベストアンサー
  • HNEX
  • ベストアンサー率62% (43/69)
回答No.3

こんな感じでどうでしょうか SimpleDateFormaとCalendarを使用した計算方式です public static void main(String... args) throws Exception { System.out.println(calc30minitusAgoTime("201606011200")); } public static String calc30minitusAgoTime(String source) throws Exception { SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmm"); Calendar calendar = new GregorianCalendar(); calendar.setTime(format.parse(source)); calendar.add(Calendar.MINUTE, -30); return format.format(calendar.getTime()); }

その他の回答 (2)

回答No.2

パースしてから計算でOKですよ。 dataformatならparseメソッドかな

  • maiko0333
  • ベストアンサー率19% (839/4401)
回答No.1

set public final void set(int year, int month, int date, int hourOfDay, int minute) カレンダフィールド YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY、 およびMINUTE の値を設定します。 他のフィールドの以前の値は保持されます。保持されないようにする場合は、 最初に clear() を呼び出します。 パラメータ: year - YEAR カレンダフィールドの設定に使用する値 month - MONTH カレンダフィールドの設定に使用する値。 Month 値は 0 から始まる (1 月 は 0 になる) date - DAY_OF_MONTH カレンダフィールドの設定に使用する値 hourOfDay - HOUR_OF_DAY カレンダフィールドの設定に使用する値 minute - MINUTE カレンダフィールドの設定に使用する値 Calendar calendar = Calendar.getInstance(); calendar.set(2006, 4, 14, 9, 24); http://www.javadrive.jp/start/calendar/index3.html

関連するQ&A

専門家に質問してみよう