2012-04-13 17 views
5

मुझे यह जानने की ज़रूरत है कि एंड्रॉइड विकास में समय-समय पर कुछ ऐसा है या नहीं?क्या एंड्रॉइड विकास में टाइमस्पेन की तरह कुछ है?

सी # में

वहाँ की तरह कुछ है और मैं दो तरह से इसका उपयोग करना चाहते:

  1. एक समयावधि पैदा करते हैं और उसके बाद जैसे जोड़ने मिनट और फिर पूरे काल
  2. प्रदर्शित दो दिनांक समय के बीच समयावधि उत्पन्न (क्या एंड्रॉयड में datetime के लिए बराबर है?)

उत्तर

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

} 

पास तारीख और सेकंड में समय है, यह संशोधित वापस आ जाएगी समय ...

3

दुर्भाग्य से, वहाँ कोई TimeSpan जावा में अभी तक मूल रूप से उपलब्ध वर्ग की तरह है, लेकिन आप कोड की कुछ लाइनों के साथ इस लक्ष्य को हासिल कर सकते हैं।

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

एंड्रॉयड DateUtils है, विधि "formatElapsedTime" आपको क्या चाहिए अगर आप इसे सही इनपुट देता है।

1

पर एक नज़र डालें, आप मिलीसेकंड में आसानी से "टाइमस्पेन" प्राप्त कर सकते हैं। मिलीसेकंड को स्वरूपित करने के लिए, आप इस तरह के अपने काम में थोड़ा तेज़ और सुरुचिपूर्ण गणना कर सकते हैं,

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); 
} 
संबंधित मुद्दे