簡體   English   中英

Android開發中有類似TimeSpan的東西嗎?

[英]Is there something like TimeSpan in android development?

我需要知道android開發中是否有類似時間的東西?

在C#中有類似的東西,我喜歡以兩種方式使用它:

  1. 生成一個時間跨度,然后添加例如分鍾,然后顯示整個跨度
  2. 生成兩個DateTime之間的時間跨度(android中DateTime的等價物是什么?)
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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM