दिन के पहले पल
answer by ngeek सही है, लेकिन दिन के पहले पल में समय लगाने में विफल रहता है। समय समायोजित करने के लिए, withTimeAtStartOfDay
पर कॉल संलग्न करें।
// © 2013 Basil Bourque. This source code may be used freely forever by anyone taking full responsibility for doing so.
org.joda.time.DateTime startOfThisMonth = new org.joda.time.DateTime().dayOfMonth().withMinimumValue().withTimeAtStartOfDay();
org.joda.time.DateTime startofNextMonth = startOfThisMonth.plusMonths(1).dayOfMonth().withMinimumValue().withTimeAtStartOfDay();
System.out.println("startOfThisMonth: " + startOfThisMonth);
System.out.println("startofNextMonth: " + startofNextMonth);
जब सिएटल अमेरिका में चला ...
startOfThisMonth: 2013-11-01T00:00:00.000-07:00
startofNextMonth: 2013-12-01T00:00:00.000-08:00
नोट कंसोल आउटपुट के उन दो पंक्तियों में अंतर: -7 बनाम -8 की वजह से Daylight Saving Time।
आम तौर पर डिफ़ॉल्ट रूप से भरोसा करने के बजाय हमेशा समय क्षेत्र निर्दिष्ट करना चाहिए। सादगी के लिए यहां छोड़ा गया। किसी को इस तरह की एक पंक्ति जोड़नी चाहिए, और उपरोक्त उदाहरण में उपयोग किए गए रचनाकारों को समय क्षेत्र वस्तु को पास करना चाहिए।
// Time Zone list: http://joda-time.sourceforge.net/timezones.html (Possibly out-dated, read note on that page)
// UTC time zone (no offset) has a constant, so no need to construct: org.joda.time.DateTimeZone.UTC
org.joda.time.DateTimeZone kolkataTimeZone = org.joda.time.DateTimeZone.forID("Asia/Kolkata");
java.time
ऊपर सही लेकिन पुरानी हो चुकी है। जोडा-टाइम लाइब्रेरी अब Java 8 और बाद में जावा में निर्मित जावा.टाइम फ्रेमवर्क द्वारा प्रदान की जाती है।
LocalDate
समय-समय पर और समय क्षेत्र के बिना दिनांक-केवल मूल्य का प्रतिनिधित्व करता है।एक तिथि निर्धारित करने में एक समय क्षेत्र महत्वपूर्ण है। किसी भी क्षण के लिए तिथि दुनिया भर में जोन द्वारा भिन्न होती है।
ZoneId zoneId = ZoneId.of("America/Montreal");
LocalDate today = LocalDate.now(zoneId);
महीने के पहले प्राप्त करने के लिए TemporalAdjusters
में से किसी एक का उपयोग करें।
LocalDate firstOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());
LocalDate
एक ZonedDateTime
कि दिन के पहले पल का प्रतिनिधित्व करता उत्पन्न कर सकते हैं।
ZonedDateTime firstMomentOfCurrentMonth = firstOfMonth.atStartOfDay(zoneId);
से हटाएं प्रश्न शीर्षक में जोडा समय का उल्लेख होना चाहिए। –
यह करता है "क्या कोई व्यक्ति जोडा-टाइम के साथ इस उपयोग के मामले को प्रदर्शित कर सकता है।" मैंने यह और स्पष्ट करने के लिए एक और नोट जोड़ा है कि यह एक जोडा समय प्रश्न है। –
@ मैक्सिम वेक्स्लर लचलन रोश ने कहा * शीर्षक * जोडा-टाइम का जिक्र करना चाहिए। मैंने संपादन किया। –