2012-09-18 17 views

उत्तर

104

java.util.Date को SimpleDateFormat

String string_date = "12-December-2012"; 

SimpleDateFormat f = new SimpleDateFormat("dd-MMM-yyyy"); 
try { 
    Date d = f.parse(string_date); 
    long milliseconds = d.getTime(); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 
9

कि एक String पार्स और एक Date और Date वर्ग के getTime विधि लौट सकते हैं SimpleDateFormat वर्ग के लिए एक नजर डालें।

3

आप स्ट्रिंग तिथि को पार्स करने के लिए सरलडेटफॉर्मेट का उपयोग कर सकते हैं।

6
  • पहले परिवर्तित स्ट्रिंग का उपयोग करना तारीख से millisecs की गिनती प्राप्त करने के लिए तारीख formatter
  • उपयोग getTime() का उपयोग कर
13
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy"); 
Date date = (Date)formatter.parse("12-December-2012"); 
long mills = date.getTime(); 
0

सबसे आसान तरीका दिनांक प्रयोग किया जाता है तिथि() का उपयोग करना और प्राप्त करें समय()

Date dte=new Date(); 
    long milliSeconds = dte.getTime(); 
    String strLong = Long.toString(milliSeconds); 
    System.out.println(milliSeconds) 
1

सरलडेटाफॉर्मेट का उपयोग करके आप इसे आसानी से प्राप्त कर सकते हैं।

1) पहले स्ट्रिंग को जावा में परिवर्तित करें। सरलडेटाफॉर्मर का उपयोग करके डेट करें।

2) का प्रयोग करें getTime विधि तारीख से millisecs की गिनती प्राप्त करने के लिए

public class test { 
     public static void main(String[] args) { 
     String currentDate = "01-March-2016"; 
     SimpleDateFormat f = new SimpleDateFormat("dd-MMM-yyyy"); 
    Date parseDate = f.parse(currentDate); 
    long milliseconds = parseDate.getTime(); 
    } 
     } 

अधिक उदाहरण क्लिक करें नीचे दिए गए कोड here

0

कोशिश

 SimpleDateFormat f = new SimpleDateFormat("your_string_format", Locale.getDefault()); 
     Date d = null; 
     try { 
      d = f.parse(date); 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 
     long timeInMillis = d.getTime(); 
2

समय के बारे में किसी को आधुनिक उत्तर प्रदान करता है यह यह प्रश्न। 2012 में जब सवाल पूछा गया था, तो जवाब भी वापस पोस्ट किए गए थे, फिर अच्छे जवाब थे। 2016 में पोस्ट किए गए उत्तरों में तब तक लंबे समय से पुरानी कक्षाओं का उपयोग SimpleDateFormat और Date मेरे लिए एक रहस्य का थोड़ा और अधिक है। java.time, आधुनिक जावा दिनांक और समय एपीआई जिसे जेएसआर -310 भी कहा जाता है, के साथ काम करने के लिए बहुत अच्छा है। आप इसे थ्रीटेनएपीपी के माध्यम से एंड्रॉइड पर इस्तेमाल कर सकते हैं, this question: How to use ThreeTenABP in Android Project देखें।

अधिकांश प्रयोजनों के लिए मैं यूटीसी में दिन की शुरुआत में युग के बाद मिलीसेकंड का उपयोग करने की सलाह देता हूं।उदाहरण के लिए

1355270400000 

आप कुछ विशेष समय क्षेत्र में दिन की शुरुआत में समय की आवश्यकता है, उस समय यूटीसी के बजाय क्षेत्र निर्दिष्ट करें,: इन प्राप्त करने के लिए:

DateTimeFormatter dateFormatter 
      = DateTimeFormatter.ofPattern("d-MMMM-uuuu", Locale.ENGLISH); 
    String stringDate = "12-December-2012"; 
    long millisecondsSinceEpoch = LocalDate.parse(stringDate, dateFormatter) 
      .atStartOfDay(ZoneOffset.UTC) 
      .toInstant() 
      .toEpochMilli(); 
    System.out.println(millisecondsSinceEpoch); 

यह प्रिंट

1355252400000 
:
  .atStartOfDay(ZoneId.of("Asia/Karachi")) 

जैसी उम्मीद थी इस एक अलग परिणाम देता है

ध्यान देने योग्य एक और बिंदु, अपने DateTimeFormatter पर एक लोकेल की आपूर्ति करना याद रखें। मैंने दिसम्बर को अंग्रेजी होने के लिए लिया, वहां अन्य भाषाएं हैं जहां उस महीने को वही कहा जाता है, इसलिए कृपया उचित लोकेल चुनें। यदि आपने लोकेल प्रदान नहीं किया है, तो फॉर्मेटर जेवीएम की लोकेल सेटिंग का उपयोग करेगा, जो कई मामलों में काम कर सकता है, और फिर अप्रत्याशित रूप से एक दिन विफल हो जाता है जब आप किसी डिवाइस पर एक अलग लोकेल सेटिंग के साथ अपना ऐप चलाते हैं।

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