tl; डॉ
बता दें कि जेएसआर 310 के आधुनिक जावा.टाइम क्लासेस 12 घंटे की घड़ी और एएम / पीएम के बजाय स्वचालित रूप से स्थानीय पाठ उत्पन्न करते हैं।
LocalTime // Represent a time-of-day, without date, without time zone or offset-from-UTC.
.now( // Capture the current time-of-day as seen in a particular time zone.
ZoneId.of( "Africa/Casablanca" )
) // Returns a `LocalTime` object.
.format( // Generate text representing the value in our `LocalTime` object.
DateTimeFormatter // Class responsible for generating text representing the value of a java.time object.
.ofLocalizedTime( // Automatically localize the text being generated.
FormatStyle.SHORT // Specify how long or abbreviated the generated text should be.
) // Returns a `DateTimeFormatter` object.
.withLocale( Locale.US ) // Specifies a particular locale for the `DateTimeFormatter` rather than rely on the JVM’s current default locale. Returns another separate `DateTimeFormatter` object rather than altering the first, per immutable objects pattern.
) // Returns a `String` object.
10:31 पूर्वाह्न
स्वचालित रूप से स्थानीयकरण करें
एएम / पीएम के साथ 12 घंटे की घड़ी पर जोर देने के बजाय, आप जावा को स्वचालित रूप से आपके लिए स्थानीय बनाना चाहते हैं। पुकारते हैं DateTimeFormatter.ofLocalizedTime
।
निर्दिष्ट करने के लिए, निर्दिष्ट करें:
FormatStyle
यह निर्धारित करने के लिए कि स्ट्रिंग कितनी लंबी या संक्षिप्त होनी चाहिए।
Locale
संकल्प करना:
- मानव भाषा दिन के नाम का अनुवाद, महीने के नाम, और इस तरह के लिए।
- सांस्कृतिक मानदंडों संक्षिप्त नाम, पूंजीकरण, विराम चिह्न, विभाजक, और इस तरह के मुद्दों पर निर्णय लेने से।
यहां हमें वर्तमान समय का दिन मिलता है जैसा कि किसी विशेष समय क्षेत्र में देखा जाता है। फिर हम उस समय का प्रतिनिधित्व करने के लिए टेक्स्ट जनरेट करते हैं। हम कनाडा की संस्कृति में फ्रेंच भाषा का स्थानीयकरण करते हैं, फिर अमेरिकी संस्कृति में अंग्रेजी भाषा का।
ZoneId z = ZoneId.of( "Asia/Tokyo" ) ;
LocalTime localTime = LocalTime.now( z ) ;
// Québec
Locale locale_fr_CA = Locale.CANADA_FRENCH ; // Or `Locale.US`, and so on.
DateTimeFormatter formatterQuébec = DateTimeFormatter.ofLocalizedTime( FormatStyle.SHORT ).withLocale( locale_fr_CA ) ;
String outputQuébec = localTime.format( formatterQuébec ) ;
System.out.println( outputQuébec ) ;
// US
Locale locale_en_US = Locale.US ;
DateTimeFormatter formatterUS = DateTimeFormatter.ofLocalizedTime( FormatStyle.SHORT ).withLocale( locale_en_US ) ;
String outputUS = localTime.format( formatterUS ) ;
System.out.println( outputUS ) ;
इस कोड को IdeOne.com पर लाइव देखें ।
१० ज ३१
10:31 पूर्वाह्न
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");