jdk Java:私の時間に10分を追加する方法




java wiki (7)

私は時間を整数として保存し、除算とモジュロ演算子を使って調整することをお勧めします。整数が必要な文字列形式に変換されると完了します。

私はこの時間を得ている

String myTime = "14:10";

今度はこの時間に10分を追加して14:20

これは可能ですか?あれば、どうですか?

ありがとう


Answer #1

Calendar.add(int field,int amount)メソッドを使用します。


Answer #2

それをDateに変換してから、数秒を追加して文字列に変換し直す必要があります。


Answer #3

あなたは上記の答えの中にたくさんの簡単なアプローチを持っています。 これは単なる別のアイデアです。 ミリ秒に変換し、TimeZoneOffsetを追加し、分/時間/日などをミリ秒単位で追加/控除することができます。

String myTime = "14:10";
int minsToAdd = 10;
Date date = new Date();
date.setTime((((Integer.parseInt(myTime.split(":")[0]))*60 + (Integer.parseInt(myTime.split(":")[1])))+ date1.getTimezoneOffset())*60000);
System.out.println(date.getHours() + ":"+date.getMinutes());
date.setTime(date.getTime()+ minsToAdd *60000);
System.out.println(date.getHours() + ":"+date.getMinutes());

出力:

14:10
14:20

Answer #4

このようなもの

 String myTime = "14:10";
 SimpleDateFormat df = new SimpleDateFormat("HH:mm");
 Date d = df.parse(myTime); 
 Calendar cal = Calendar.getInstance();
 cal.setTime(d);
 cal.add(Calendar.MINUTE, 10);
 String newTime = df.format(cal.getTime());

公正な警告として、夏時間がこの10分間に含まれる場合、いくつかの問題があるかもしれません。


Answer #5

私はLocalTime Timeを使って、 LocalTimeとして時刻を解析してから、

time = time.plusMinutes(10);

短いが完全なプログラムでこれを実証する:

import org.joda.time.*;
import org.joda.time.format.*;

public class Test {
    public static void main(String[] args) {
        DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm");
        LocalTime time = formatter.parseLocalTime("14:10");
        time = time.plusMinutes(10);
        System.out.println(formatter.print(time));
    }       
}

可能であれば、私は間違いなくjava.util.Date / Calendarの代わりにJoda Timeを使用することに注意してください。これははるかに良いAPIです。


Answer #6

以下のコードを使用して、現在の時間に一定の時間間隔を追加します。

    int interval = 30;  
    SimpleDateFormat df = new SimpleDateFormat("HH:mm");
    Calendar time = Calendar.getInstance();

    Log.i("Time ", String.valueOf(df.format(time.getTime())));

    time.add(Calendar.MINUTE, interval);

    Log.i("New Time ", String.valueOf(df.format(time.getTime())));




java