2016-01-06 3 views
7

मैं यह जानने की कोशिश कर रहा हूं कि, लोकेल से, मुझे 24 या 12 प्रारूप का उपयोग करना होगा। लोकेल के लिए नहीं प्रणाली के अनुसारकैसे पता चलेगा कि लोकेल 12 या 24 घंटे प्रारूप का उपयोग कर रहा है या नहीं?

if (android.text.format.DateFormat.is24HourFormat(getApplicationContext())) 

लेकिन इस रिटर्न एक बूलियन,:

मैं इस पाया। इसका मतलब यह है कि यदि उपयोगकर्ता ऐप के लिए अंग्रेजी का उपयोग करता है लेकिन 24hours प्रारूप का उपयोग कर एक फोन है, तो यह सच हो जाएगा ...

मुझे एक बुलियन कैसे मिल सकता है अगर प्रारूप का उपयोग करने के लिए प्रारूप है या नहीं, 24 घंटे ? मैं जोडा का उपयोग नहीं कर रहा हूँ। अग्रिम में धन्यवाद।

EDIT संपादित करें क्योंकि ऐसा लगता है कि कुछ लोग सोचते हैं कि यह एक डुप्लिकेट है, मैंने डुप्लिकेट ध्वज के स्रोत के रूप में आपके द्वारा प्रदान की गई पोस्ट को पहले से ही पढ़ा है। यह केवल अनुमानित कामकाज या तारीख प्रदान करने की विधि के साथ हल किया गया था, अधिकांश समय वर्तमान में, भले ही यह इसी प्रारूप में हो।

जैसा कि आप अनुमान लगा सकते हैं, अगर मैं यह जानना चाहता हूं कि मुझे 12 घंटे के प्रारूप का उपयोग करना चाहिए या नहीं, तो लोकेल के अनुसार, इसका मतलब है कि मुझे तारीख या कुछ भी चाहिए, जो कि मैं पहले से ही मेरे पास उपयोग करने के प्रारूप के बारे में एक पुष्टि है।

+2

क्या आप स्थान के बावजूद उपयोगकर्ता के पसंदीदा प्रारूप में समय प्रदर्शित नहीं करना चाहते हैं? –

+2

क्यों उपयोगकर्ता पसंद का पालन नहीं करते? – Andreas

+0

पसंद मेरा नहीं है, और यह भी एक अच्छा सवाल है क्योंकि मुझे अभी तक इसका कोई स्पष्ट उत्तर नहीं दिख रहा है, मान लें कि – Virthuss

उत्तर

2

वास्तविक android.text.format.DateFormat.is24HourFormat विधि के source code पर एक नज़र आप देखेंगे ले रहा है वे इसे कैसे करते हैं:

Locale locale = context.getResources().getConfiguration().locale; 

    java.text.DateFormat natural = 
     java.text.DateFormat.getTimeInstance(
      java.text.DateFormat.LONG, locale); 

    if (natural instanceof SimpleDateFormat) { 
     SimpleDateFormat sdf = (SimpleDateFormat) natural; 
     String pattern = sdf.toPattern(); 
     if (pattern.indexOf('H') >= 0) { 
      value = "24"; 
     } else { 
      value = "12"; 
     } 
    } else { 
     value = "12"; 
    } 

तो आप इसे जिस तरह से आप प्राप्त करने के लिए अनुकूलित कर सकते हैं लोकेल।

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

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