Android開発にタイムスパンのようなものがあるかどうかを知る必要がありますか?
C# には次のようなものがあり、私はそれを 2 つの方法で使用するのが好きです。
- タイムスパンを生成し、たとえば分を追加してから、スパン全体を表示します
- 2 つの DateTime 間のタイムスパンを生成します (アンドロイドの DateTime に相当するものは何ですか?)
Android開発にタイムスパンのようなものがあるかどうかを知る必要がありますか?
C# には次のようなものがあり、私はそれを 2 つの方法で使用するのが好きです。
public long addSeconds(long dt,int sec) //method to add seconds in time
{
Date Dt = new Date(dt);
Calendar cal = new GregorianCalendar();
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
sdf.setCalendar(cal);
cal.setTimeInMillis(Dt.getTime());
cal.add(Calendar.SECOND, sec);
return cal.getTime().getTime();
}
日付と時刻を秒単位で渡すと、変更された時刻が返されます。
残念ながら、TimeSpan
Java でネイティブに使用できるクラスはまだありませんが、数行のコードでこれを実現できます。
Calendar startDate = getStartDate();
Calendar endDate = getEndDate();
long totalMillis = endDate.getTimeInMillis() - startDate.getTimeInMillis();
int seconds = (int) (totalMillis / 1000) % 60;
int minutes = ((int)(totalMillis / 1000) / 60) % 60;
int hours = (int)(totalMillis / 1000) / 3600;
AndroidにはDateUtilsがあり、正しい入力を与えると、メソッド「formatElapsedTime」が必要なことを行います。
Calendar クラスを使用できます。
http://tutorials.jenkov.com/java-date-time/java-util-calendar.html
Java の日付は厄介です。https://github.com/dlew/joda-time-androidをご覧ください