दिलचस्प पोस्ट
एकाधिक शब्द खोज और नोटपैड में बदलें ++ दशमलव श्रेणी () चरण मान का उपयोग कैसे करें? एक सामान्य प्रकार की कक्षा का निर्धारण कैसे करें? WHERE बनाम बना रहा है इस गोलांग कोड में क्या गलत है? एकाधिक क्वेरीज़ (PDO_MYSQL, PDO_MYSQLND) के लिए पीडीओ समर्थन क्रोम एक्सटेंशन – जीमेल के मूल संदेश को पुनः प्राप्त करना पायथन नॉन-लॉकल स्टेटमेंट मैं दो दृश्य नियंत्रकों के बीच संवाद करने के लिए एक साधारण प्रतिनिधि कैसे स्थापित करूं? मैं एक एन्यूम कैसे गणना करूं? कैसे डीबी लोड करने के लिए: स्वचालित रूप से टेस्ट डेटाबेस में बीज डेटा? LINQ: फ़िल्टरिंग मापदंड के साथ एकल ऑर डिफॉल्ट बनाम फर्स्टऑरफॉल्ट () का उपयोग कब किया जाए इकाई फ़्रेमवर्क: इस कमान से पहले से एक खुले डेटारिडर जुड़ा हुआ है आप अपनी प्राथमिक कुंजी कैसे पसंद करते हैं? इनपुट मिस्मैचएक्साशन के साथ प्रयास करें / पकड़ें अनंत लूप बनाता है

जावा में कुछ अन्य समयक्षेत्र में दिनांक और समय रूपांतरण

मैंने इस कोड को वर्तमान सिस्टम दिनांक और समय को किसी अन्य समयक्षेत्र में परिवर्तित करने के लिए लिखा है। मुझे कोई त्रुटि नहीं मिली है, लेकिन मुझे उम्मीद है कि मेरा आउटपुट नहीं मिल रहा है। जैसे कि मैं अपने कार्यक्रम को एक विशेष समय पर निष्पादित कर रहा हूं .. मेरा उत्पादन है ::

भारत में वर्तमान समय है :: Fri Feb 24 16:09:23 IST 2012

तिथि और समय :: केंद्रीय मानक समय :: Sat Feb 25 03:39:23 IST 2012

और सीएसटी समय क्षेत्र के अनुसार वास्तविक समय है ::

 Friday, 24 February 4:39:16 am(GMT - 6:00) 

तो कुछ समय अंतराल है और मुझे नहीं पता कि ऐसा क्यों हो रहा है किसी भी मदद की सराहना की जाएगी .. कोड है ::

 package MyPackage; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; public class Temp2 { public static void main(String[] args) { try { Calendar currentdate = Calendar.getInstance(); String strdate = null; DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); strdate = formatter.format(currentdate.getTime()); TimeZone obj = TimeZone.getTimeZone("CST"); formatter.setTimeZone(obj); //System.out.println(strdate); //System.out.println(formatter.parse(strdate)); Date theResult = formatter.parse(strdate); System.out.println("The current time in India is :: " +currentdate.getTime()); System.out.println("The date and time in :: "+ obj.getDisplayName() + "is ::" + theResult); } catch (ParseException e) { e.printStackTrace(); } } } 

वेब के समाधान से एकत्रित समाधान "जावा में कुछ अन्य समयक्षेत्र में दिनांक और समय रूपांतरण"

यह वेब पर है हो सकता है googled वैसे भी, यहां आपके लिए एक संस्करण है (बेशर्मी से चुना गया है और यहां से संशोधित किया गया है ):

  Calendar calendar = Calendar.getInstance(); TimeZone fromTimeZone = calendar.getTimeZone(); TimeZone toTimeZone = TimeZone.getTimeZone("CST"); calendar.setTimeZone(fromTimeZone); calendar.add(Calendar.MILLISECOND, fromTimeZone.getRawOffset() * -1); if (fromTimeZone.inDaylightTime(calendar.getTime())) { calendar.add(Calendar.MILLISECOND, calendar.getTimeZone().getDSTSavings() * -1); } calendar.add(Calendar.MILLISECOND, toTimeZone.getRawOffset()); if (toTimeZone.inDaylightTime(calendar.getTime())) { calendar.add(Calendar.MILLISECOND, toTimeZone.getDSTSavings()); } System.out.println(calendar.getTime()); 

आपकी गलती format बजाय parse कॉल parse

आप स्ट्रिंग से दिनांक को पार्स parse लिए पार्स कहते हैं, लेकिन आपके मामले में आपको एक तिथि मिल गई है और इसे सही समयक्षेत्र का उपयोग करके प्रारूपित करना होगा

अपने कोड को इसके साथ बदलें

 Calendar currentdate = Calendar.getInstance(); DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); TimeZone obj = TimeZone.getTimeZone("CST"); formatter.setTimeZone(obj); System.out.println("Local:: " +currentdate.getTime()); System.out.println("CST:: "+ formatter.format(currentdate.getTime()) 

और मुझे आशा है कि आप जिस आउटपुट को उम्मीद कर रहे हैं, वह आपको मिलेगा।

अपने दैनिक काम में जावा में तारीखों को संभालने के लिए एक गैर तुच्छ कार्य है। मैं आपको जोडा-टाइम का उपयोग करने का सुझाव देता हूं जो कि हमारे कोडिंग दिनों को सरल करता है और आपको "पहिया का फिर से आविष्कार" करना नहीं है

समस्या तब होती है जब आप तारीख को मुद्रित करते हैं obj यह कॉल करने के लिए विधि और यह आपके मशीनों डिफ़ॉल्ट समय क्षेत्र में प्रिंट जाएगा.इस कोड को देखने और अंतर देखें ..

  Calendar currentdate = Calendar.getInstance(); String strdate = null; DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ssz"); strdate = formatter.format(currentdate.getTime()); System.out.println("strdate=>" + strdate); TimeZone obj = TimeZone.getTimeZone("CST"); formatter.setTimeZone(obj); strdate = formatter.format(currentdate.getTime()); Date theResult = formatter.parse(strdate); System.out.println("The current time in India is :: " +currentdate.getTime()); System.out.println("The date and time in :: "+ obj.getDisplayName() + "is ::" + theResult); System.out.println("The date and time in :: "+ obj.getDisplayName() + "is ::" + strdate); 

ऐसा कुछ करने की कोशिश करो

 Date date = new Date(); String formatPattern = ....; SimpleDateFormat sdf = new SimpleDateFormat(formatPattern); TimeZone T1; TimeZone T2; // set the Calendar of sdf to timezone T1 sdf.setTimeZone(T1); System.out.println(sdf.format(date)); // set the Calendar of sdf to timezone T2 sdf.setTimeZone(T2); System.out.println(sdf.format(date)); // Use the 'calOfT2' instance-methods to get specific info // about the time-of-day for date 'date' in timezone T2. Calendar calOfT2 = sdf.getCalendar(); 

आप "सीएसटी 6 सीडीटी" का उपयोग कर सकते हैं क्योंकि कुछ देशों में वे सर्दियों में गर्मियों और सीएसटी में सीडीटी का पालन करते हैं

  public static String getDateInCST() { Calendar calendar = Calendar.getInstance(); DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); formatter.setTimeZone(TimeZone.getTimeZone( "CST6CDT")); String strdate = formatter.format(calendar.getTime()); TimeZone.getAvailableIDs(); return strdate; }