दिलचस्प पोस्ट
Google नक्शे जैसे स्थान संवाद सक्षम कैसे दिखाएं? PHP में वस्तु की संरक्षित संपत्ति कैसे प्राप्त करें रिकॉर्सेट। मूल्य संपत्ति कंटेनर में विभिन्न हस्ताक्षरों के साथ कार्यात्मक ऑब्जेक्ट कैसे स्टोर करें? विंडोज पर एफसीएनटीएल विकल्प एंड्रॉइडः सॉफ़्टकीबोर्ड खोलें वही जूनिट परीक्षण चलाने का आसान तरीका? चर के लिए परिवर्तन श्रोता कैसे बनाएं? फायरबसे के लिए क्लाउड फ़ंक्शन के साथ अपलोड की गई फ़ाइल से डाउनलोड यूआरएल प्राप्त करें एसक्यूएल सर्वर 2005- पहचान कॉलम के बजाय उत्पन्न दृश्यों का उपयोग करना? एक 'अघोषित पहचानकर्ता' त्रुटि क्या है और मैं इसे कैसे ठीक कर सकता हूं? पायथन में पूर्णांक कैसे गोल करें जावास्क्रिप्ट दिनांक में दिन जोड़ें कस्टम ऐप के चलने में "ज्ञात फाइल प्रकार" खोलना – .NET SQL सर्वर में नेस्टेड चयन स्टेटमेंट

जावा में एक तारीख को एन घंटे जोड़ना?

मैं दिनांक ऑब्जेक्ट में n घंटे कैसे जोड़ूं? मुझे स्टैक ओवरफ्लो पर दिनों का उपयोग करते हुए एक अन्य उदाहरण मिला, लेकिन फिर भी यह समझ में नहीं आता कि यह कैसे घंटों के साथ करना है।

Solutions Collecting From Web of "जावा में एक तारीख को एन घंटे जोड़ना?"

कैलेंडर वर्ग की जांच करें इसने समय मैथुन को अनुमति देने के add विधि (और कुछ अन्य) जोड़ दी है। ऐसा कुछ काम करना चाहिए

  Calendar cal = Calendar.getInstance(); // creates calendar cal.setTime(new Date()); // sets calendar time/date cal.add(Calendar.HOUR_OF_DAY, 1); // adds one hour cal.getTime(); // returns new date object, one hour in the future 

अधिक के लिए एपीआई की जांच करें।

यदि आप अपाचे कॉमन्स / लैंग का उपयोग करते हैं, तो आप इसे dateUtils.addHours () का उपयोग करके एक ही चरण में कर सकते हैं:

 Date newDate = DateUtils.addHours(oldDate, 3); 

(मूल वस्तु अपरिवर्तित है)

जोडा-टाइम के साथ

 DateTime dt = new DateTime(); DateTime added = dt.plusHours(6); 

क्रिस्टोफर के उदाहरण को आसान बनाने के लिए

कहें कि आपके पास निरंतर है

 public static final long HOUR = 3600*1000; // in milli-seconds. 

तुम लिख सकते हो।

 Date newDate = new Date(oldDate.getTime() + 2 * HOUR); 

यदि आप लंबे समय तक दिनांक ऑब्जेक्ट के बजाय दिनांक / समय स्टोर करने के लिए उपयोग करते हैं

 long newDate = oldDate + 2 * HOUR; 

जावा 8 के बाद से:

 LocalDateTime.now().minusHours(1); 

LocalDateTime API देखें

कुछ इस तरह:

 Date oldDate = new Date(); // oldDate == current time final long hoursInMillis = 60L * 60L * 1000L; Date newDate = new Date(oldDate().getTime() + (2L * hoursInMillis)); // Adds 2 hours 

tl; डॉ

 myUtilDate.toInstant().plus( Duration.ofHours( 8 ) ) 

Java.time का उपयोग करना

Java.time फ्रेमवर्क जावा 8 में बनाया गया है और बाद में पुरानी जावा.टिल.डेट /। कैलेंडर्स वर्गों को प्रदान करता है। उन पुरानी कक्षाएं बेहद परेशानी हैं। उनसे बचें

toInstant में toInstant विधि का उपयोग पुराने प्रकार से नया जावा टाइप करने के लिए करें। समय प्रकार नैनोसेकंड के संकल्प के साथ यूटीसी में टाइम लाइन पर एक Instant एक पल है ।

 Instant instant = myUtilDate.toInstant(); 

आप ऐसे समय के रूप में एक TemporalAmount पास करके Instant करने के लिए घंटे जोड़ सकते हैं

 Duration duration = Duration.ofHours( 8 ); Instant instantHourLater = instant.plus( duration ); 

उस तारीख को पढ़ने के लिए, स्ट्रिंग को कॉल करने से मानक आईएसओ 8601 प्रारूप में एक स्ट्रिंग उत्पन्न होती है।

 String output = instantHourLater.toString(); 

आप उस क्षेत्र को कुछ क्षेत्र की दीवार-घड़ी के समय के लेंस के माध्यम से देखना चाह सकते हैं। ZonedDateTime बनाकर Instant अपने वांछित / अपेक्षित समय क्षेत्र में समायोजित करें

 ZoneId zoneId = ZoneId.of( "America/Montreal" ); ZonedDateTime zdt = ZonedDateTime.ofInstant( instant , zoneId ); 

वैकल्पिक रूप से, आप अपने घंटों की संख्या जोड़ने के लिए plusHours कॉल कर सकते हैं। ज़ोन होने के नाते डेलाइट सेविंग टाइम (डीएसटी) और अन्य त्रुटियों को आपकी ओर से संभाला जाएगा।

 ZonedDateTime later = zdt.plusHours( 8 ); 

आप पुराने date-time classes सहित java.util.Date और .Calendar का उपयोग करने से बचना चाहिए। लेकिन अगर आपको java.util.Date लिए अपडेट नहीं किए गए वर्गों के साथ इंटरऑपरेबिलिटी के लिए वास्तव में java.util.Date आवश्यकता होती है, तो ZonedDateTime जरिए Instant जरिए कनवर्ट करें। पुरानी कक्षाओं में जोड़े जाने वाले नए तरीकों से जावा। टाइम प्रकारों में रूपांतरण की सुविधा है।

 java.util.Date date = java.util.Date.from( later.toInstant() ); 

परिवर्तित करने पर अधिक चर्चा के लिए, प्रश्न के उत्तर देखें, java.util.Date को कन्वर्ट करें , जो "जावा। टाइम" प्रकार से है? ।


जावा के बारे में। समय

Java.time फ्रेमवर्क जावा 8 और बाद में बनाया गया है। ये कक्षाएं परेशानी पुरानी विरासत तिथि-समय कक्षाएं जैसे कि java.util.Date , Calendar , और SimpleDateFormat

जोडा-टाइम प्रोजेक्ट, अब रखरखाव मोड में , जावा के प्रवासन को सलाह देता है। समय

अधिक जानने के लिए, ओरेकल ट्यूटोरियल देखें। और कई उदाहरणों और स्पष्टीकरण के लिए स्टैक अतिप्रवाह खोजें। विशिष्टता JSR 310 है

जावा को कब प्राप्त करें कक्षाएं?

  • जावा एसई 8 और एसई 9 और बाद में
    • निर्मित।
    • बंडल कार्यान्वयन के साथ मानक जावा एपीआई का हिस्सा
    • जावा 9 कुछ मामूली विशेषताएं और फिक्सेस जोड़ती है
  • जावा एसई 6 और एसई 7
    • ज्यादातर जावा। टाइम कार्यक्षमता को तीन-टेन-बैकपोर्ट में जावा 6 और 7 में बैक-पोर्ट किया गया है।
  • एंड्रॉयड
    • थ्रीटीएएनपीपी प्रोजेक्ट एंड्रॉइड के लिए थ्रीटीन बैकपोर्ट (ऊपर उल्लिखित) की आदत डालती है
    • कैसे उपयोग करें देखें …।

तीन टन अतिरिक्त परियोजना java.time को अतिरिक्त कक्षाओं के साथ बढ़ाता है। यह प्रोजेक्ट जावा के संभावित भावी परिवर्धन के लिए एक सिद्ध मैदान है। आपको कुछ उपयोगी वर्ग यहां मिल सकते हैं जैसे कि Interval , YearWeek , YearQuarter , और अधिक

नया जावा । यूटिल.संकर्षक। टाइम यूनिट वर्ग का उपयोग करके आप इसे इस तरह कर सकते हैं

  Date oldDate = new Date(); // oldDate == current time Date newDate = new Date(oldDate.getTime() + TimeUnit.HOURS.toMillis(2)); // Adds 2 hours 

यह कोड का एक और टुकड़ा है जब आपका Date ऑब्जेक्ट Datetime स्वरूप में है इस कोड की सुंदरता यह है कि यदि आप अधिक संख्याएं देते हैं तो तारीख भी तदनुसार अपडेट हो जाएगी।

  String myString = "09:00 12/12/2014"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm dd/MM/yyyy"); Date myDateTime = null; //Parse your string to SimpleDateFormat try { myDateTime = simpleDateFormat.parse(myString); } catch (ParseException e) { e.printStackTrace(); } System.out.println("This is the Actual Date:"+myDateTime); Calendar cal = new GregorianCalendar(); cal.setTime(myDateTime); //Adding 21 Hours to your Date cal.add(Calendar.HOUR_OF_DAY, 21); System.out.println("This is Hours Added Date:"+cal.getTime()); 

यहां आउटपुट है:

  This is the Actual Date:Fri Dec 12 09:00:00 EST 2014 This is Hours Added Date:Sat Dec 13 06:00:00 EST 2014 

आप इसे जोडा डेटटाइम एपीआई के साथ कर सकते हैं

 DateTime date= new DateTime(dateObj); date = date.plusHours(1); dateObj = date.toDate(); 
 Date argDate = new Date(); //set your date. String argTime = "09:00"; //9 AM - 24 hour format :- Set your time. SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy"); SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm"); String dateTime = sdf.format(argDate) + " " + argTime; Date requiredDate = dateFormat.parse(dateTime); 

यदि आप java.time का उपयोग करने के लिए तैयार हैं, तो आईएसओ 8601 स्वरूपित अवधियों को जोड़ने का एक तरीका है:

 import java.time.Duration; import java.time.LocalDateTime; ... LocalDateTime yourDate = ... ... // Adds 1 hour to your date. yourDate = yourDate.plus(Duration.parse("PT1H")); // Java. // OR yourDate = yourDate + Duration.parse("PT1H"); // Groovy. 

आप इस पद्धति का उपयोग कर सकते हैं, समझना और कार्यान्वित करना आसान है:

 public static java.util.Date AddingHHMMSSToDate(java.util.Date date, int nombreHeure, int nombreMinute, int nombreSeconde) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.HOUR_OF_DAY, nombreHeure); calendar.add(Calendar.MINUTE, nombreMinute); calendar.add(Calendar.SECOND, nombreSeconde); return calendar.getTime(); }