स्ट्रिंग मिल्स को लंबे मिल्सकॉन्ड में कैसे परिवर्तित करें


जवाबों:


154

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

16
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
Date date = (Date)formatter.parse("12-December-2012");
long mills = date.getTime();

11

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

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

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

यह प्रिंट:

1355270400000

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

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

जैसा कि अपेक्षित था यह थोड़ा अलग परिणाम देता है:

1355252400000

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


9

SimpleDateFormatकक्षा के लिए एक नज़र डालें जो एक पार्स कर सकता है Stringऔर एक Dateऔर कक्षा की getTimeविधि वापस कर सकता है Date



3

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


1

सबसे आसान तरीका तारीख का उपयोग कर दिनांक () और getTime () है

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

1

सरलीकृत के उपयोग से आप इसे आसानी से प्राप्त कर सकते हैं।

1) सबसे पहले स्ट्रिंग को जावा में बदलें।

2) तिथि से मिलीसेकंड की गणना प्राप्त करने के लिए गेटटाइम विधि का उपयोग करें

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

अधिक उदाहरण यहाँ क्लिक करें


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.