2012-11-15 39 views
6

में अजगर में दिनांक स्वरूप प्राप्त करें अपना होमवर्क के लिए मुझे दिया एक नमूना कोड में, इस लाइन प्रकट होता है:विंडोज

date_format = locale.nl_langinfo(locale.D_FMT) 

लेकिन Windows में है कि रेखा निम्नलिखित त्रुटि देता है:

File "C:\Users\Shadark\Dropbox\IHM\P3\p3_files\www\cgi-bin\todolist.py", line 11, in <module> 
date_format = locale.nl_langinfo(locale.D_FMT) 
AttributeError: 'module' object has no attribute 'nl_langinfo' 

मैं localeconv का उपयोग करने के बारे में पढ़ा है, लेकिन मैंने केवल मुद्रा या संख्याओं का उपयोग करने के बारे में पढ़ा है। मेरे कोड नमूना या अन्य प्रकार के फ़ंक्शन के उद्देश्य के लिए उपयोग पर कोई विचार?

अग्रिम धन्यवाद।

उत्तर

5

आपकी समस्या शायद यह तथ्य है कि locale.nl_langinfo विंडोज पायथन 2.7.x में उपलब्ध नहीं प्रतीत होता है (मुझे इसे विंडोज 64-बिट पायथन 2.7 की मेरी प्रति में नहीं दिख रहा है .3)। http://docs.python.org/2.7/library/locale.html#locale.nl_langinfo पर डॉक्स को देखते हुए, वे विशेष रूप से कहते हैं:

This function is not available on all systems, and the set of possible options might also vary across platforms.

एक बार जब आप की तर्ज पर कुछ के साथ स्थान निर्धारित किया है:

locale.setlocale(locale.LC_ALL, 'english') 

तब (some_date.strftime करने के लिए कॉल) का उपयोग करेगा सही लोकेल विशिष्ट स्वरूपण और तार। इसलिए यदि आप स्ट्रिंग प्रारूप में दिनांक चाहते हैं, तो some_date.strftime('%x') पर %x%X के साथ %c दोनों के लिए %c पर कॉल करें। स्ट्रेटटाइम प्रारूपों की पूरी सूची here दस्तावेज की गई है।

>>> d = datetime.datetime.now() 
... for loc in ('english', 'german', 'french'): 
...  locale.setlocale(locale.LC_ALL, loc) 
...  print loc, d.strftime('%c -- %x -- %X -- %B -- %A') 
english 11/15/2012 4:10:56 PM -- 11/15/2012 -- 4:10:56 PM -- November -- Thursday 
german 15.11.2012 16:10:56 -- 15.11.2012 -- 16:10:56 -- November -- Donnerstag 
french 15/11/2012 16:10:56 -- 15/11/2012 -- 16:10:56 -- novembre -- jeudi 
14: 'French_France.1252' 
+2

और पाइथन में डेट_फॉर्मेट प्राप्त करने के लिए कुछ कामकाज इसी तरह nl_langinfo काम करता है, लेकिन इसका उपयोग किए बिना? – Shadark

+0

आपको विंडोज़ पर दिनांक/समय/डेटाटाइम प्रारूप स्ट्रिंग कैसे मिलती है? – Romeno

1

परीक्षण निर्देशिका से किसी भी पूर्व-संकलित फ़ाइलों को हटाने का प्रयास करें।

यदि समस्या बनी रहती है, तो अपने संकलन एक्सटेंशन को पुनर्स्थापित करने का प्रयास करें। हो सकता है कि इंस्टॉलेशन