[英]Is there something like TimeSpan in android development?
我需要知道android開發中是否有類似時間的東西?
在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”可以做你需要的。
您可以在幾毫秒內輕松獲得“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);
}
Java中的日期很尷尬。 看看https://github.com/dlew/joda-time-android
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.