2011-08-16 11 views

उत्तर

33

मुझे लगता है कि आप getRelativeDateTimeString के बारे में बात कर रहे हैं, जो आपके लिंक द्वारा इंगित किया गया है।

now के लिए उदाहरण के लिए, टिप्पणियों का ब्यौरा सभी पैरामीटर वाला:

Date now = new Date(); 
String str = DateUtils.getRelativeDateTimeString(

     this, // Suppose you are in an activity or other Context subclass 

     now.getTime(), // The time to display 

     DateUtils.MINUTE_IN_MILLIS, // The resolution. This will display only 
             // minutes (no "3 seconds ago") 


     DateUtils.WEEK_IN_MILLIS, // The maximum resolution at which the time will switch 
         // to default date instead of spans. This will not 
         // display "3 weeks ago" but a full date instead 

     0); // Eventual flags 

MINUTE_IN_MILLIS और YEAR_IN_MILLIS के लिए अन्य मान में शामिल हैं:

  • SECOND_IN_MILLIS
  • MINUTE_IN_MILLIS
  • HOUR_IN_MILLIS
  • DAY_IN_MILLIS
  • WEEK_IN_MILLIS
  • YEAR_IN_MILLIS
  • मिलीसेकेंड में किसी भी कस्टम मान
+6

क्या आपने WEEK_IN_MILLIS और YEAR_IN_MILLIS के साथ प्रयास किया था? मैं इसे काम नहीं कर सकता, यहां मेरा कोड है: 'कोड' समय = अब - 7 * 24 * 60 * 60 * 1000; टेक्स्ट + = DateUtils.getRelativeDateTimeString (यह, समय, DateUtils.MINUTE_IN_MILLIS, \t दिनांकUtils.YEAR_IN_MILLIS, 0) + "\ n"; 'Code'। और मुझे आश्चर्य है कि यह MONTH_IN_MILLIS – thanhbinh84

+5

का समर्थन क्यों नहीं करता है 'डेटटाइम्स' ('जोडा टाइम से?' के बजाय 'डेटटाइम्स' ([एंड्रॉइड का हिस्सा] (http://developer.android.com/reference/android/text/format/ DateUtils.html))? – cdunn2001

4

मुझे लगता है कि एक बेहतर सवाल क्या आप एक आउटपुट के रूप में चाहते हैं निर्दिष्ट करना होगा। हालांकि, यहां एक उदाहरण है:

DateUtils.getRelativeTimeSpanString(yourContext, theEventInMillis, 
            DateUtils.MINUTE_IN_MILLIS, 
            DateUtils.FORMAT_NO_NOON); 

इस प्रारूप होगा theEventInMillis रिश्तेदार जो कुछ भी करने के लिए प्रणाली की वर्तमान समय है। यह एक मिनट तक पहुंचने तक मिनटों में बदलाव दिखाएगा (0 मिनट पहले, 2 मिनट पहले, 3 घंटे पहले, 1 दिन पहले, आदि), फिर भी यह पूरी तारीख पोस्ट करेगा। ध्वज फ़ील्ड (इस मामले में 0, अंतिम तर्क) आप नियंत्रित करने के लिए उपयोग कर सकते हैं कि परिणामस्वरूप स्ट्रिंग कैसे प्रदान की जाती है, लेकिन आपको यह देखने के लिए दस्तावेज़ों की जांच करनी चाहिए कि आपकी आवश्यकताओं के अनुरूप क्या है।

+0

हाय @ डॉन, getRelativeTimeSpanString के लिए कोई विधि हस्ताक्षर नहीं है जो आपके उदाहरण में तर्कों से मेल खाता है। यह GetRelativeDateTimeString के तरीकों में से एक से मेल खाता है। –

+0

आप सही हैं, मैंने "संक्रमण पुनरुत्थान" मान हटा दिया है। – dmon

संबंधित मुद्दे