我需要知道在android開發中是否有類似時間的東西?在android開發中有沒有像TimeSpan的東西?
在C#有類似的東西,我喜歡以兩種方式使用它:
- 生成一個時間跨度,然後添加例如分鐘,然後顯示整個跨度
- 產生兩個日期時間之間的時間跨度(什麼是Android的等效的DateTime?)
我需要知道在android開發中是否有類似時間的東西?在android開發中有沒有像TimeSpan的東西?
在C#有類似的東西,我喜歡以兩種方式使用它:
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」做你所需要的,如果你給它正確的輸入。
Java中的日期很尷尬。看看https://github.com/dlew/joda-time-android
你可以很容易地得到「TimeSpan」以毫秒爲單位。要將毫秒轉換爲格式化的數字,您可以在您的功能中做一些快速而優雅的計算,例如
public static String GetFormattedTimeSpan(final long ms) {
long x = ms/1000;
long seconds = x % 60;
x /= 60;
long minutes = x % 60;
x /= 60;
long hours = x % 24;
x /= 24;
long days = x;
return String.format("%d days %d hours %d minutes %d seconds", days, hours, minutes, seconds);
}