2012-09-06 12 views
6

im बनाने दिनांक स्वरूप के बीच नई लाइन बनाने के लिए:कैसे इस तरह DateFormat

SimpleDateFormat sdf =new SimpleDateFormat("MMM d, EEE, h:mm a"); 

मैं इस

thus ,sep 6 
4:25pm 

तरह तिथि, महीना और समय कुछ के बीच एक नई लाइन की जरूरत है तो मैं निम्नलिखित बनाया परिवर्तन:

SimpleDateFormat sdf =new SimpleDateFormat("MMM d, EEE,"+"\n"+" h:mm a"); 

यह मुझे कुछ भी नहीं दिया बस यह एक पंक्ति इस तरह में बनाया:

thus ,sep 6 4:25pm 

तो मैं इस

SimpleDateFormat sdf =new SimpleDateFormat("MMM d, EEE,"); 
SimpleDateFormat sdf1 =new SimpleDateFormat(" h:mm a"); 

तरह प्रारूप वस्तु ले लिया और ऐसा किया:

sdf.format(calendar.getTime())+"\n"+sdf1.format(calendar.getTime()) 

लेकिन यह फिर से एक ही परिणाम

thus ,sep 6 4:25pm 

कैलेंडर है देता है एसी अलेंडर ऑब्जेक्ट। किसी भी मदद की सराहना की जाएगी !!

उत्तर

2

मुझे लगता है कि एंड्रॉइड को सचमुच स्ट्रिंग में दिखाई देने के लिए \n की आवश्यकता है, वास्तविक न्यूलाइन वर्ण नहीं। तो, आप अपने जावा स्ट्रिंग में बैकस्लैश से बचने के लिए की जरूरत है, तो कुछ इस तरह:

String output = "Thus ,Sep 6" + "\\n" + "4:25pm"; 
+0

मुझे आपकी हार्ड-कोडेड मान का उपयोग करने में हमेशा अलग-अलग समय की आवश्यकता नहीं है और मैंने 2 बैक स्लैश का उपयोग करने की कोशिश की –

+0

सरल '\ n' काम करता है। हो सकता है कि मेरे JSON के साथ कुछ समस्या हो, मैं इसे संग्रहीत कर रहा हूं। मेरे पहले तरीके से दूसरे कोड के अंदर एक ही कोड लेने के बाद सही तरीके से काम करना शुरू हो गया। वैसे भी धन्यवाद .. –

1

क्या आप वाकई हैं, \n गायब हो जाता है? कम से कम आपकी आखिरी कोशिश तिथि प्रारूप के साथ कुछ भी नहीं हो सकती है। क्या आप प्रति मौके वेब पेज के लिए अपना आउटपुट बनाते हैं और <br />\n के इंस्ट्रेड का उपयोग करना चाहिए?

System.getProperty("line.separator"); 

लाइन विभाजक पाने के लिए:

+0

दोस्तों मैं एंड्रॉइड डिवाइस में प्रदर्शित कर रहा हूं। –

+0

आह, ठीक है तो आपको यह सुनिश्चित करना होगा कि टेक्स्ट व्यू बहु-पंक्ति पर सेट है! – Ridcully

+0

उदाहरण के लिए इस प्रश्न का दूसरा उत्तर देखें: http://stackoverflow.com/questions/6674578/multiline-textview-in-android – Ridcully

1

\ N, उपयोग का प्रयोग न करें।

मुझे एक और स्रोत मिला जो बताता है कि आप कैरिज रिटर्न पाने के लिए &#xA; का उपयोग कर सकते हैं।

+0

मुझे नहीं लगता कि यह काम करेगा क्योंकि सिस्टम एंड्रॉइड डिवाइस या एम्यूलेटर काम नहीं करेगा। –

+0

@AndroidKiller मैंने विशिष्ट एंड्रॉइड मुद्दों को देखा है, और मुझे यह मिला: http://stackoverflow.com/questions/8693544/carriage-returns-line-breaks-with-n-in-strings-in-android – LaGrandMere

+0

@AndroidKiller: जोड़ा गया एंड्रॉइड में एक और संभावना। – LaGrandMere

2

यदि आप एक HTML व्यू पर प्रदर्शित कर रहे हैं, तो आप यह सुनिश्चित करना चाहते हैं कि आप \n के बजाय एक HTML लाइन ब्रेक <br/> का उपयोग करें।

+0

मैं एंड्रॉइड डिवाइस में प्रदर्शित कर रहा हूं। –

+0

आप अपना टेक्स्ट किस प्रकार का संदेश भेज रहे हैं? जाहिर है, जो भी हो, यह समर्थन नहीं करता '\ n' वर्ण। आप" \ n \ r "भी कोशिश कर सकते हैं। – mprivat

6

मैं अपनी टिप्पणी है कि अपने मूल समाधान वास्तव में काम करता है में से एक से देखते हैं, लेकिन मैं एक ही सवाल था जब मैं यहाँ आया था, इसलिए मुझे इस प्रश्न का उत्तर दें। (मेरे स्वरूपण तुम्हारा से थोड़ा अलग है।)

Date date = new Date(unixMilliseconds); 
SimpleDateFormat sdf = new SimpleDateFormat("MMM d, yyyy\nh:mma"); 
String formattedDate = sdf.format(date); 

\nMMM d, yyyy\nh:mma में काम करता है क्योंकि न तो \ है और न ही n द्वारा SimpleDateFormat (see documentation) में व्याख्या कर रहे हैं और इस तरह जावा स्ट्रिंग को भेजी जाती हैं। अगर उनके पास विशेष अर्थ होता तो आप एकल उद्धरण का उपयोग कर सकते थे: MMM d, yyyy'\n'h:mma (जो भी काम करता है)।

+0

आप सही हो सकते हैं। आपके उत्तर के लिए धन्यवाद। अगर मैं भविष्य में इसी तरह की स्थिति का सामना करूंगा तो मैं कोशिश करूंगा। :) –

+1

ठीक है। जो जवाब आपने सही के रूप में चिह्नित किया है, वह गलत लगता है (एन "\\ n" से पहले अतिरिक्त बैकस्लैश की आवश्यकता नहीं है)। – Suragch

+0

यह स्वीकार्य उत्तर होना चाहिए। – Mangesh

संबंधित मुद्दे