दिलचस्प पोस्ट
उद्देश्य- c में NSURL के कुछ हिस्सों को प्राप्त करें एसएसएल की जांच कैसे करें आप Windows Vista पर अपने विज़ुअल स्टूडियो कैश को कैसे साफ़ करते हैं? सीएसएस पेज-ब्रेक को कितने पंक्तियों के साथ तालिका मुद्रित करने के लिए आवेदन कैसे करें? एक डीआईवी की सामग्री प्रिंट करें XMPPFramework – समूह चैट (एमयूसी) को लागू करें अजगर: प्रोग्राम का एकल उदाहरण PHP से एचटीटीपी से HTTPS पर स्विच करते समय सत्र खो गया नेटिक एंड्रॉइड एप्लिकेशन पर "फ़ॉन्ट विस्मयकारी" से आइकन और प्रतीकों का उपयोग कैसे करें ATTACH के साथ खोले गए SQLite डेटाबेस फ़ाइल में तालिकाओं की सूची कैसे करें? एनपीएम मॉड्यूल विश्व स्तर पर बिना sudo स्थापित नहीं होगा Monomorphism प्रतिबंध क्या है? इंटरनेट एक्सप्लोरर में 'स्क्रिप्ट' टैग के लिए 'ऑनलोड' हैंडलर IOS info.plist फ़ाइल के अंदर एक स्ट्रिंग को स्थानीयकृत कैसे करें? रूट अनुप्रयोग को कैसे परिवर्तित करें?

java समय प्रारूप में मिलीसेकंड को परिवर्तित करता है

मैं एक लंबे मान (1/1 9 70 से 1 9 70 के दशक से मिली बीतने की तारीख) प्रारूप के एक समय में परिवर्तित करने की कोशिश कर रहा हूं h:m:s:ms
लंबे समय तक का उपयोग मैं टाइमस्टैम्प के रूप में करता हूं, मुझे log4j से लॉगिंग इवेंट के फ़ील्ड timestamp से मिलता है
मैं रूपांतरण कैसे करूं?
उदाहरण के लिए मिनटों को पाने के लिए मैंने निम्नलिखित और सभी असफल कोशिश की:
logEvent.timeStamp / (1000 * 60 * 60) और
TimeUnit.MILLISECONDS.toMinutes (logEvent.timeStamp)
लेकिन मुझे कचरा मिलता है:
मुझे मिला

 1289375173771 for logEvent.timeStamp 358159 for logEvent.timeStamp/ (1000*60*60) 21489586 for TimeUnit.MILLISECONDS.toMinutes(logEvent.timeStamp) 

मैं इसे कैसे बदल सकता हूं?

धन्यवाद

वेब के समाधान से एकत्रित समाधान "java समय प्रारूप में मिलीसेकंड को परिवर्तित करता है"

इसे इस्तेमाल करे:

 Date date = new Date(logEvent.timeSTamp); DateFormat formatter = new SimpleDateFormat("HH:mm:ss:SSS"); String dateFormatted = formatter.format(date); 

अन्य प्रतीकों की सूची

 long second = (millis / 1000) % 60; long minute = (millis / (1000 * 60)) % 60; long hour = (millis / (1000 * 60 * 60)) % 24; String time = String.format("%02d:%02d:%02d:%d", hour, minute, second, millis); 

मैं आपको तीन तरीकों से दिखाएगा कि (ए) एक लंबे समय से मिनट के क्षेत्र को प्राप्त करें, और (बी) इसे इच्छित दिनांक स्वरूप का उपयोग करके प्रिंट करें। एक java.util.Calendar का उपयोग करता है, दूसरा जोडा-टाइम का उपयोग करता है, और पिछला जावा 8 और बाद के संस्करणों में जावा। टाइम फ्रेमवर्क का उपयोग करता है।

जावा। टाइम फ्रेमवर्क पुरानी बंडल तिथि-समय कक्षाएं प्रदान करता है, और जोडा-टाइम से प्रेरित है, जिसे JSR 310 द्वारा परिभाषित किया गया है, और तीन-अतिरिक्त-अतिरिक्त प्रोजेक्ट द्वारा बढ़ाया गया है।

जावा 8 और बाद के संस्करणों का उपयोग करते समय java.time ढांचा जाने का तरीका है। अन्यथा, जैसे एंड्रॉइड, Joda-Time का उपयोग करें Java.util.Date/.Calendar वर्ग कुख्यात हैं और इसे टाल जाना चाहिए।

java.util.Date और। कैलेंडर

 final long timestamp = new Date().getTime(); // with java.util.Date/Calendar api final Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(timestamp); // here's how to get the minutes final int minutes = cal.get(Calendar.MINUTE); // and here's how to get the String representation final String timeString = new SimpleDateFormat("HH:mm:ss:SSS").format(cal.getTime()); System.out.println(minutes); System.out.println(timeString); 

Joda समय

 // with JodaTime 2.4 final DateTime dt = new DateTime(timestamp); // here's how to get the minutes final int minutes2 = dt.getMinuteOfHour(); // and here's how to get the String representation final String timeString2 = dt.toString("HH:mm:ss:SSS"); System.out.println(minutes2); System.out.println(timeString2); 

आउटपुट:

24
09: 24: 10: 254
24
09: 24: 10: 254

java.time

 long millisecondsSinceEpoch = 1289375173771L; Instant instant = Instant.ofEpochMilli ( millisecondsSinceEpoch ); ZonedDateTime zdt = ZonedDateTime.ofInstant ( instant , ZoneOffset.UTC ); DateTimeFormatter formatter = DateTimeFormatter.ofPattern ( "HH:mm:ss:SSS" ); String output = formatter.format ( zdt ); System.out.println ( "millisecondsSinceEpoch: " + millisecondsSinceEpoch + " instant: " + instant + " output: " + output ); 

मिलिसेकंडससपोकः 128 9 3 9 7 17 771 तत्काल: 2010-11-1007: 46: 13.771 जेड आउटपुट: 07: 46: 13: 771

अपाचे कॉमन्स (कॉमन्स-लैंग 3) और इसकी अवधिफ़ॉर्मैट यूथल्स क्लास का उपयोग करना संभव है।

 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.1</version> </dependency> 

उदाहरण के लिए:

 String formattedDuration = DurationFormatUtils.formatDurationHMS(12313152); // formattedDuration value is "3:25:13.152" String otherFormattedDuration = DurationFormatUtils.formatDuration(12313152, DurationFormatUtils.ISO_EXTENDED_FORMAT_PATTERN); // otherFormattedDuration value is "P0000Y0M0DT3H25M13.152S" 

आशा है कि यह मदद कर सकता है …

 long second = TimeUnit.MILLISECONDS.toSeconds(millis); long minute = TimeUnit.MILLISECONDS.toMinutes(millis); long hour = TimeUnit.MILLISECONDS.toHours(millis); millis -= TimeUnit.SECONDS.toMillis(second); return String.format("%02d:%02d:%02d:%d", hour, minute, second, millis); 

करते हुए

 logEvent.timeStamp / (1000*60*60) 

आपको घंटे प्रदान करेगा, मिनट नहीं प्रयत्न:

 logEvent.timeStamp / (1000*60) 

और आप उसी उत्तर के साथ समाप्त होंगे

 TimeUnit.MILLISECONDS.toMinutes(logEvent.timeStamp) 
 public static String timeDifference(long timeDifference1) { long timeDifference = timeDifference1/1000; int h = (int) (timeDifference / (3600)); int m = (int) ((timeDifference - (h * 3600)) / 60); int s = (int) (timeDifference - (h * 3600) - m * 60); return String.format("%02d:%02d:%02d", h,m,s); 

इसे इस्तेमाल करे:

  String sMillis = "10997195233"; double dMillis = 0; int days = 0; int hours = 0; int minutes = 0; int seconds = 0; int millis = 0; String sTime; try { dMillis = Double.parseDouble(sMillis); } catch (Exception e) { System.out.println(e.getMessage()); } seconds = (int)(dMillis / 1000) % 60; millis = (int)(dMillis % 1000); if (seconds > 0) { minutes = (int)(dMillis / 1000 / 60) % 60; if (minutes > 0) { hours = (int)(dMillis / 1000 / 60 / 60) % 24; if (hours > 0) { days = (int)(dMillis / 1000 / 60 / 60 / 24); if (days > 0) { sTime = days + " days " + hours + " hours " + minutes + " min " + seconds + " sec " + millis + " millisec"; } else { sTime = hours + " hours " + minutes + " min " + seconds + " sec " + millis + " millisec"; } } else { sTime = minutes + " min " + seconds + " sec " + millis + " millisec"; } } else { sTime = seconds + " sec " + millis + " millisec"; } } else { sTime = dMillis + " millisec"; } System.out.println("time: " + sTime);