2012-04-13 13 views
5

Android geliştirmede zaman çizelgesi gibi bir şey olup olmadığını bilmem gerekiyor mu? C#Android geliştirmede TimeSpan gibi bir şey var mı?

gibi bir şey ve ben iki şekilde kullanmak ister:

  1. bir zaman aralığı oluşturmak ve daha sonra örneğin eklemek dakikalar sonra (android içinde DateTime eşdeğer nedir?) iki DateTime arasındaki zaman aralığını oluşturmak bütün açıklığı
  2. görüntülemek

cevap

5
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(); 

} 

geçişli tarihi ve saati, o Android DateUtils sahiptir

3

Maalesef orada Java henüz doğal olarak mevcuttur sınıf gibi hiçbir TimeSpan, ama kod birkaç satır ile bunu başarabilirsiniz. sn

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; 
2

, yöntem "formatElapsedTime" bunu doğru girdi verirsem ne ihtiyacınız yok ... zaman modifiye döndürecektir.

1

Bir göz atın "TimeSpan" ı milisaniyede kolayca alabilirsiniz. Milisaniyeyi biçimlendirilmiş bir taneye dönüştürmek için , sizin işlevinizde bu küçük ve hızlı bir hesaplama yapabilirsiniz,

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); 
} 
İlgili konular