क्या कोई मुझे SimpleDateFormat वर्ग में उपलब्ध दिनांक स्वरूपों के बारे में बता सकता है।
मैं आपी से गुज़रा हूं, लेकिन संतोषजनक उत्तर नहीं मिला।
क्या कोई मुझे SimpleDateFormat वर्ग में उपलब्ध दिनांक स्वरूपों के बारे में बता सकता है।
मैं आपी से गुज़रा हूं, लेकिन संतोषजनक उत्तर नहीं मिला।
जवाबों:
दिनांक और समय प्रारूप नीचे वर्णित हैं
SimpleDateFormat (जावा प्लेटफ़ॉर्म एसई 7) - तिथि और समय पैटर्न
n
आपके द्वारा संभवतः किए जा सकने वाले स्वरूपों की संख्या हो सकती है । पूर्व - dd/MM/yyyy
या YYYY-'W'ww-u
आप अपने आवश्यक पैटर्न को प्राप्त करने के लिए अक्षरों को मिला सकते हैं और मेल कर सकते हैं। पैटर्न पत्र निम्नानुसार हैं।
G
- युग निर्माता (ई।)y
- वर्ष (1996; 96)Y
- सप्ताह वर्ष (2009; 09)M
- वर्ष में महीना (जुलाई; जुलाई; 07)w
- वर्ष में सप्ताह (27)W
- महीने में सप्ताह (2)D
- वर्ष में दिन (189)d
- महीने में दिन (10)F
महीने में सप्ताह का दिन (2)E
सप्ताह में नाम (मंगलवार; मंगल)u
सप्ताह का दिन नंबर (1 = सोमवार, ..., 7 = रविवार)a
- एएम / पीएम मार्करH
- दिन में घंटे (0-23)k
- दिन में घंटे (1-24)K
- घंटे सुबह / शाम (0-11)h
- घंटे सुबह / दोपहर (1-12)m
- घंटे में मिनट (30)s
- मिनट में दूसरा (55)S
- मिलिसकॉन्ड (978)z
- सामान्य समय क्षेत्र (प्रशांत मानक समय; PST; GMT-08: 00)Z
- आरएफसी 822 समय क्षेत्र (-0800)X
- आईएसओ 8601 समय क्षेत्र (-08; -0800; -08: 00)पार्स करने के लिए:
2000-01-23T04: 56: 07.000 + 0000
उपयोग:
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
SimpleDateFormat
निर्माता पर स्थानीय सेट करने की अनुमति दें। SimpleDateFormat formatter = new SimpleDateFormat(pattern, locale);
मुझे http://www3.ntu.edu.sg/home/ehchua/programming/java/DateTimeCalendar.html से मिले कुछ उदाहरण कोड को बाहर फेंकने दूं, तब तक आप विभिन्न विकल्पों के साथ खेल सकते हैं, जब तक आप इसे पसंद नहीं करते।
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
Date now = new Date();
//This is just Date's toString method and doesn't involve SimpleDateFormat
System.out.println("toString(): " + now); // dow mon dd hh:mm:ss zzz yyyy
//Shows "Mon Oct 08 08:17:06 EDT 2012"
SimpleDateFormat dateFormatter = new SimpleDateFormat("E, y-M-d 'at' h:m:s a z");
System.out.println("Format 1: " + dateFormatter.format(now));
// Shows "Mon, 2012-10-8 at 8:17:6 AM EDT"
dateFormatter = new SimpleDateFormat("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
System.out.println("Format 2: " + dateFormatter.format(now));
// Shows "Mon 2012.10.08 at 08:17:06 AM EDT"
dateFormatter = new SimpleDateFormat("EEEE, MMMM d, yyyy");
System.out.println("Format 3: " + dateFormatter.format(now));
// Shows "Monday, October 8, 2012"
// SimpleDateFormat can be used to control the date/time display format:
// E (day of week): 3E or fewer (in text xxx), >3E (in full text)
// M (month): M (in number), MM (in number with leading zero)
// 3M: (in text xxx), >3M: (in full text full)
// h (hour): h, hh (with leading zero)
// m (minute)
// s (second)
// a (AM/PM)
// H (hour in 0 to 23)
// z (time zone)
// (there may be more listed under the API - I didn't check)
}
}
सौभाग्य!
अपडेट करें
अन्य प्रश्न आउटमोडेड हैं। भयानक विरासत कक्षाएं जैसे SimpleDateFormat
कि आधुनिक java.time कक्षाओं द्वारा वर्षों पहले दबा दी गई थीं ।
अपने स्वयं के कस्टम स्वरूपण पैटर्न को परिभाषित करने के लिए, कोड DateTimeFormatter
समान हैं, लेकिन कोड में बिल्कुल समान नहीं हैं SimpleDateFormat
। प्रलेखन का अध्ययन करना सुनिश्चित करें। और कई उदाहरणों के लिए ढेर अतिप्रवाह खोजें।
DateTimeFormatter f =
DateTimeFormatter.ofPattern(
"dd MMM uuuu" ,
Locale.ITALY
)
;
आईएसओ 8601 दिनांक-समय मान के कई प्रकार के लिए मानक परिभाषित करता है प्रारूपों। ये प्रारूप डेटा-विनिमय के लिए डिज़ाइन किए गए हैं, जिन्हें मशीन द्वारा आसानी से पार्स किया जा रहा है और साथ ही साथ संस्कृतियों में मनुष्यों द्वारा आसानी से पढ़ा जा रहा है।
Java.time वर्गों / जब पैदा तार को पार्स डिफ़ॉल्ट रूप से आईएसओ 8601 प्रारूपों का उपयोग करें। बस toString
& parse
विधियों को कॉल करें । कोई स्वरूपण पैटर्न निर्दिष्ट करने की आवश्यकता नहीं है।
Instant.now().toString()
2018-11-05T18: 19: 33.017554Z
UTC में मान के लिए, Z
अंत में UTC का अर्थ है, और "ज़ुलु" का उच्चारण किया जाता है।
एक स्वरूपण पैटर्न निर्दिष्ट करने के बजाय, आप java.time को स्वचालित रूप से आपके लिए स्थानीय कर सकते हैं। उपयोगDateTimeFormatter.ofLocalized…
विधियों का ।
किसी विशेष क्षेत्र (एक समय क्षेत्र) के लोगों द्वारा उपयोग की जाने वाली दीवार-घड़ी के समय के साथ वर्तमान क्षण प्राप्त करें।
ZoneId z = ZoneId.of( "Africa/Tunis" );
ZonedDateTime zdt = ZonedDateTime.now( z );
मानक ब्रैकेट में समय क्षेत्र के नाम को जोड़ने के लिए मानक आईएसओ 8601 प्रारूप में पाठ उत्पन्न करें।
zdt.toString (): 2018-11-05T19: 20: 23.765293 + 01: 00 [अफ्रीका / ट्यूनिस]
स्वत: स्थानीय पाठ उत्पन्न करें।
Locale locale = Locale.CANADA_FRENCH;
DateTimeFormatter f = DateTimeFormatter.ofLocalizedDateTime( FormatStyle.FULL ).withLocale( locale );
String output = zdt.format( f );
आउटपुट: lundi 5 novembre 2018 à 19:20:23 हेअर नॉर्मास्टेल डी 'इरोपे सेंट्रेल
आमतौर पर हार्ड-कोडित स्वरूपण पैटर्न के साथ झल्लाहट के बजाय ऑटो-स्थानीयकरण के लिए एक बेहतर अभ्यास।
Java.time ढांचे जावा 8 और बाद में बनाया गया है। इन कक्षाओं परेशानी वर्ष प्रतिस्थापित विरासत जैसे तिथि-समय कक्षाएं java.util.Date
, Calendar
, औरSimpleDateFormat
।
अधिक जानने के लिए, Oracle ट्यूटोरियल देखें । और कई उदाहरणों और स्पष्टीकरणों के लिए ढेर अतिप्रवाह खोजें। विशिष्टता JSR 310 है ।
Joda समय परियोजना, अब में रखरखाव मोड , प्रवास करने की सलाह देता java.time कक्षाएं।
आप अपने डेटाबेस से सीधे java.time ऑब्जेक्ट्स का आदान-प्रदान कर सकते हैं । JDBC 4.2 या उसके बाद के JDBC ड्राइवर का अनुपालन करें । तार की कोई जरूरत नहीं, कक्षाओं की कोई जरूरत नहीं । हाइबरनेट 5 और जेपीए 2.2 जावा का समर्थन करते हैं ।java.sql.*
Java.time कक्षाएं कहाँ से प्राप्त करें?
यहाँ प्रारूप देखें http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
मुख्य
System.out.println("date : " + new classname().getMyDate("2014-01-09 14:06", "dd-MMM-yyyy E hh:mm a z", "yyyy-MM-dd HH:mm"));
तरीका
public String getMyDate(String myDate, String returnFormat, String myFormat)
{
DateFormat dateFormat = new SimpleDateFormat(returnFormat);
Date date=null;
String returnValue="";
try {
date = new SimpleDateFormat(myFormat, Locale.ENGLISH).parse(myDate);
returnValue = dateFormat.format(date);
} catch (ParseException e) {
returnValue= myDate;
System.out.println("failed");
e.printStackTrace();
}
return returnValue;
}