2013-05-27 5 views
7

java.util.date का डिफ़ॉल्ट प्रारूप इस तरह है "सोम 27 मई 11:46:15 IST 2013"। मैं इसे टाइमस्टैम्प में कैसे परिवर्तित कर सकता हूं और सेकंड में उसी और वर्तमान समय के बीच अंतर की गणना कैसे कर सकता हूं?जावा में टिमस्टैम्प के लिए java.util.date डिफ़ॉल्ट प्रारूप को कनवर्ट करें

java.util.Date date= new java.util.Date(); 
Timestamp ts_now = new Timestamp(date.getTime()); 

उपरोक्त कोड मुझे वर्तमान टाइमस्टैम्प देता है। हालांकि, मुझे कोई सुराग नहीं मिला कि उपर्युक्त स्ट्रिंग का टाइमस्टैम्प कैसे ढूंढें।

+0

संभव डुप्लिकेट (http://stackoverflow.com/questions/4216745/java-string-to-date-conversion) –

+0

मुझे डर नहीं लगता , मैं टाइमस्टैम्प प्रारूप पर काम कर रहा था। – swateek

+0

डुप्लिकेट: [जावा: स्ट्रिंग टू टाइमस्टैम्प में कनवर्ट करें] (http://stackoverflow.com/q/18915075/642706) –

उत्तर

10

आप कन्वर्ट करने के लिए Date

public long getDifference() 
{ 
    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy"); 
    Date d = sdf.parse("Mon May 27 11:46:15 IST 2013"); 

    Calendar c = Calendar.getInstance(); 
    c.setTime(d); 
    long time = c.getTimeInMillis(); 
    long curr = System.currentTimeMillis(); 
    long diff = curr - time; //Time difference in milliseconds 
    return diff/1000; 
} 
+0

जबकि "सोम मई 27 11:46:15 IST 2013" आज तक स्ट्रिंग को बदलने की कोशिश कर रहा हूं। यह मुझे एक अवांछित स्ट्रिंग अपवाद देता है। कोई विचार मैं कैसे जा सकता हूं? – swateek

+0

@Swat: उत्तर अपडेट किया गया। –

+0

बहुत धन्यवाद @ राहुल। इस अधिकार को पाने के लिए मैंने वास्तव में सालेम के उत्तर के साथ अपना जवाब संयुक्त किया। धन्यवाद! :) – swateek

0

आप

long startTime = date.getTime() * 1000000;; 
    long estimatedTime = System.nanoTime() - startTime; 

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

Java Docs

+0

यह मेरे द्वारा पारित स्ट्रिंग को कैसे परिवर्तित किया? – swateek

+0

@Swat मेरा कोड जांचें :) – nidhin

+0

मैं "सोम मई 27 11:46:15 IST 2013" इस स्ट्रिंग को टाइमस्टैम्प में परिवर्तित करना चाहता हूं। और इसके बीच और वर्तमान समय के बीच अंतर खोजें .. यह भी सेकंड में है। – swateek

0

आप उपयोग कर सकते हैं DateFormatCalendar वर्ग का उपयोग कर सकते तारीख पार्स करने के लिए (java.text *।):

DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy", Locale.ENGLISH); 
Date d = df.parse("Mon May 27 11:46:15 IST 2013") 

आप होगा अपने आप से मेल खाने के लिए लोकेल को बदलना होगा (इसके साथ आपको 10:46:15 मिलेगा)। फिर आप उसी कोड का उपयोग कर सकते हैं जिसे आपको इसे टाइमस्टैंप में परिवर्तित करना है।

+0

धन्यवाद! मैंने यह अधिकार प्राप्त करने के लिए @ राहुल के साथ आपके उत्तर का उपयोग किया। – swateek

8

बेस्ट एक

String str_date=month+"-"+day+"-"+yr; 
DateFormat formatter = new SimpleDateFormat("MM-dd-yyyy"); 
Date date = (Date)formatter.parse(str_date); 
long output=date.getTime()/1000L; 
String str=Long.toString(output); 
long timestamp = Long.parseLong(str) * 1000; 
[तारीख रूपांतरण के लिए जावा स्ट्रिंग] की
संबंधित मुद्दे