क्या जावा में सप्ताह के दिन को प्रदर्शित करने के लिए कोई तारीख प्रारूप है?


128

मुझे तिथि प्रारूपों के बारे में पता है जैसे कि
"yyyy-mm-dd"प्रारूप 2011-02-26
"yyyy-MMM-dd"में तारीख प्रदर्शित करता है जो प्रारूप में तारीख प्रदर्शित करता है2011-FEB-26

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

SimpleDateFormat formatter = new SimpleDateFormat(
                "yyyy/MMM/dd ");

मुझे एक प्रारूप चाहिए जो मुझे सप्ताह के दिन को प्रदर्शित करने में मदद करेगा जैसे 2011-02-MONया कुछ भी। मैं चाहता हूं कि सप्ताह का दिन महीने और वर्ष के साथ वर्णों में प्रदर्शित हो। क्या आप मुझे इस तरह का कोई प्रारूप बता सकते हैं?


1
ddप्रारूप के रूप में उपयोग करने के बारे में कैसे ?
जोहान एसजबर्ग

3
मुझे यकीन है कि एपीआई डॉक्स ( download.oracle.com/javase/1.4.2/docs/api/java/text/… ) आपको जवाब देने में खुशी होगी।
एम। जेसप

1
आपका क्या मतलब है "दिन" - सप्ताह का दिन, महीने का दिन। आपके उदाहरण में पूरी तिथि प्रदर्शित है। कृपया सटीक इनपुट और आउटपुट दिखाएं जो आप चाहते हैं।
बूझो

2
एक सामान्य सलाह में, -केवल आईएसओ प्रारूप (यानी साल-महीने-दिन) में तारीखों के साथ नोटेशन का बेहतर उपयोग करें । उस समय से किसी अन्य तिथि प्रारूप के लिए उपयोग नहीं किया गया था, क्योंकि भ्रम की स्थिति से बचने के लिए डैश का चयन किया गया था, और अब हर कोई डैश के साथ अपने कस्टम ऑर्डर का उपयोग कर रहा है ...
Palolo Ebermann

जवाबों:


322

इसे 'Tue' प्रदर्शित करना चाहिए:

new SimpleDateFormat("EEE").format(new Date());

यह 'मंगलवार' प्रदर्शित करना चाहिए:

new SimpleDateFormat("EEEE").format(new Date());

इसे 'T' प्रदर्शित करना चाहिए:

new SimpleDateFormat("EEEEE").format(new Date());

तो आपका विशिष्ट उदाहरण होगा:

new SimpleDateFormat("yyyy-MM-EEE").format(new Date());

5
सुंदर समाधान! मैं क्या देख रहा था: सोमवार, 04/04/2016 तो मेरे मामले में, new SimpleDateFormat("EEEE, dd/MM/yyyy");अगर यह भविष्य में किसी की मदद करता है।
ओरोमेटल

1
ठीक है, यह काम करता है। EEEEप्रदर्शित करता है सप्ताह के दिन का पूरा नाम - यानी 'सोमवार', 'मंगलवार को आदि
kosiara - बार्तोज़ Kosarzycki

मैंने वास्तव में यह नहीं सोचा था कि यह साइट भी आसपास ही होगी, अकेले जावा को आखिरकार डेट पर बॉलिंग करने के लिए मिलेगा। यह ओपी प्रश्न का तकनीकी रूप से उत्तर देता है। हालाँकि, मैं शायद एक नया खंड जोड़ सकता हूँ कि नया java.time सामान कैसे काम करता है
नाथन

18

हाँ - 'ई' चाल करता है

http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyy-MM-E");
System.out.println(df.format(date));

5
javadocs के url में oracle को देखना अभी भी अजीब लगता है।
नाथन फेगर

हम भी उपयोग करते हैं: DateFormat df = new SimpleDateFormat("yyyy-MM-EEEEEEE");प्रदर्शन के लिए लंबे DayOfWeek।
Do Nhu Vy

4
SimpleDateFormat sdf=new SimpleDateFormat("EEE");

ईईई सप्ताह के दिन के लिए खड़ा है उदाहरण के लिए गुरुवार को थू के रूप में प्रदर्शित किया जाता है।



3

tl; डॉ

LocalDate.of( 2018 , Month.JANUARY , 23 )
         .format( DateTimeFormatter.ofPattern( uuuu-MM-EEE , Locale.US )  )

java.time

आधुनिक दृष्टिकोण java.time कक्षाओं का उपयोग करता है।

LocalDate ld = LocalDate.of( 2018 , Month.JANUARY , 23 ) ;

नोट कैसे हम एक निर्दिष्ट Localeके रूप में इस तरह के Locale.CANADA_FRENCHमानव दिन के नाम का अनुवाद करने में उपयोग की गई भाषा निर्धारित करने के लिए।

DateTimeFormatter f = DateTimeFormatter.ofPattern( uuuu-MM-EEE , Locale.US ) ;
String output = ld.format( f ) ;

आईएसओ 8601

वैसे, आपको मानक आईएसओ 8601 सप्ताह की नंबरिंग योजना में रुचि हो सकती है yyyy-Www-d:।

2018-W01-2

सप्ताह # 1 में कैलेंडर-वर्ष का पहला गुरुवार है। सप्ताह सोमवार से शुरू होता है। एक वर्ष में या तो 52 या 53 सप्ताह होते हैं। कैलेंडर-वर्ष के अंतिम / पहले कुछ दिन अगले / पिछले सप्ताह-आधारित वर्ष में उतर सकते हैं।

अंत में एकल अंक सप्ताह का दिन है, सोमवार-रविवार के लिए 1-7।

वर्ग के लिए अपने प्रोजेक्ट में थ्रीटेन-अतिरिक्त लाइब्रेरी क्लास जोड़ें YearWeek


जावा के बारे में

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

Joda समय परियोजना, अब में रखरखाव मोड , प्रवास करने की सलाह देता java.time कक्षाएं।

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

Java.time कक्षाएं कहाँ से प्राप्त करें?

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


2

मुझे पता है कि प्रश्न सप्ताह के दिन को स्ट्रिंग के रूप में प्राप्त करने के बारे में है (उदाहरण के लिए संक्षिप्त नाम), लेकिन जो कोई भी सप्ताह के संख्यात्मक दिन की तलाश में है (जैसा कि मैं था), आप नए "यू" प्रारूप स्ट्रिंग का उपयोग कर सकते हैं, समर्थित जावा 7. उदाहरण के लिए:

new SimpleDateFormat("u").format(new Date());

आज का दिन-प्रति सप्ताह का सूचकांक, अर्थात्: 1 = सोमवार, 2 = मंगलवार, ..., 7 = रविवार।

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