मेरे पास दिनांक नाम से एक स्थानीय संस्करण है, जब मैं इसे प्रिंट करता हूं 1988-05-05 प्रदर्शित करता हूं तो मुझे इसे परिवर्तित करने की आवश्यकता है इसे 05.May 1988 के रूप में मुद्रित किया जाए। ऐसा करने के लिए कैसे?
मेरे पास दिनांक नाम से एक स्थानीय संस्करण है, जब मैं इसे प्रिंट करता हूं 1988-05-05 प्रदर्शित करता हूं तो मुझे इसे परिवर्तित करने की आवश्यकता है इसे 05.May 1988 के रूप में मुद्रित किया जाए। ऐसा करने के लिए कैसे?
जवाबों:
SimpleDateFormat कार्य नहीं करेगा यदि वह LocalDate के साथ शुरू हो रहा है जो जावा 8 में नया है। जो मैं देख सकता हूं, उससे आपको DateTimeFormatter, http://docs.oracle.com/javase/8/docs/ji/java/ का उपयोग करना होगा समय / प्रारूप / DateTimeFormatter.html ।
LocalDate localDate = LocalDate.now();//For reference
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd LLLL yyyy");
String formattedString = localDate.format(formatter);
यह 05 मई 1988 को मुद्रित होना चाहिए। दिन के बाद और महीने से पहले की अवधि प्राप्त करने के लिए, आपको "dd'.LLLL yyyy" का उपयोग करना पड़ सकता है।
System.out.println(LocalDate.now().format(DateTimeFormatter.ofPattern("dd.MMMM yyyy")));
उपरोक्त उत्तर आज के लिए यह दर्शाता है
प्रोग्रामरब्लॉक पोस्ट्स की मदद से मैं इसके साथ आया। मेरी ज़रूरतें थोड़ी अलग थीं। मुझे एक स्ट्रिंग लेने और लोकलडेट ऑब्जेक्ट के रूप में इसे वापस करने की आवश्यकता थी। मुझे कोड सौंपा गया था जो पुराने कैलेंडर और SimpleDateFormat का उपयोग कर रहा था। मैं इसे थोड़ा और चालू करना चाहता था। मैंने ये ढूंढ निकाला।
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
void ExampleFormatDate() {
LocalDate formattedDate = null; //Declare LocalDate variable to receive the formatted date.
DateTimeFormatter dateTimeFormatter; //Declare date formatter
String rawDate = "2000-01-01"; //Test string that holds a date to format and parse.
dateTimeFormatter = DateTimeFormatter.ISO_LOCAL_DATE;
//formattedDate.parse(String string) wraps the String.format(String string, DateTimeFormatter format) method.
//First, the rawDate string is formatted according to DateTimeFormatter. Second, that formatted string is parsed into
//the LocalDate formattedDate object.
formattedDate = formattedDate.parse(String.format(rawDate, dateTimeFormatter));
}
उम्मीद है कि यह किसी की मदद करेगा, अगर कोई इस कार्य को करने का बेहतर तरीका देखता है तो कृपया अपना इनपुट जोड़ें।
LocalDate.parse(rawDate)! String.formatयहां कुल गलत रूप में उपयोग किया जा रहा है, वास्तव में सिर्फ पहला स्ट्रिंग लौटा रहा है; DateTimeFormatterसब पर इस्तेमाल किया जा रहा नहीं है; parseकी एक staticविधि है LocalDate; formattedDateहै न एक स्वरूपित तारीख, नहीं भी एक String(प्रश्न में अनुरोध के रूप में)
Joda lib के लिए LocalDate को प्रारूपित करने का एक अंतर्निहित तरीका है
import org.joda.time.LocalDate;
LocalDate localDate = LocalDate.now();
String dateFormat = "MM/dd/yyyy";
localDate.toString(dateFormat);
यदि आपके पास यह पहले से नहीं है - तो इसे build.gradle में जोड़ें:
implementation 'joda-time:joda-time:2.9.5'
हैप्पी कोडिंग! :)
ऐसा करने का एक अच्छा तरीका यह है कि SimpleDateFormatमैं आपको यह दिखाऊंगा कि कैसे:
SimpleDateFormat sdf = new SimpleDateFormat("d MMMM YYYY");
Date d = new Date();
sdf.format(d);
मैं देखता हूं कि आपके पास एक चर में तारीख है:
sdf.format(variable_name);
चीयर्स।
LocalDateएक विशिष्ट प्रारूप में एक उदाहरण की सामग्री को प्रिंट करना चाहता है । SimpleDateFormatयहां उसकी मदद कैसे कर सकता था?
String।