datetime.datetime.fromtimestamp()
सही है, सिवाय इसके कि आप शायद मिलीसेकंड (जैसे जावास्क्रिप्ट में) में टाइमस्टैम्प रखते हैं, लेकिन fromtimestamp()
सेकंड में यूनिक्स टाइमस्टैम्प की अपेक्षा करता है।
ऐसा कार्य करें:
>>> import datetime
>>> your_timestamp = 1331856000000
>>> date = datetime.datetime.fromtimestamp(your_timestamp/1e3)
और परिणाम है:
>>> date
datetime.datetime(2012, 3, 16, 1, 0)
यह आपके प्रश्न का उत्तर है?
संपादित: J.F. सेबस्टियन सही ढंग से (नाव 1000
) 1e3
द्वारा उपयोग सही विभाजन करने का सुझाव दिया। अंतर महत्वपूर्ण है, यदि आप सटीक परिणाम प्राप्त करना चाहते हैं, तो इस प्रकार मैंने अपना जवाब बदल दिया। पाइथन 2.x के डिफ़ॉल्ट व्यवहार से अंतर होता है, जो int
को विभाजित करते समय (/
ऑपरेटर का उपयोग करके) int
int
(इसे फर्श डिवीजन कहा जाता है)। 1e3
भाजक (नाव के रूप में 1000
की जा रही है प्रतिनिधित्व) के साथ या float(1000)
(या 1000.
आदि) के साथ भाजक 1000
(एक int
जा रहा है) की जगह रखकर विभाजन सच विभाजन हो जाता है। अजगर 2.x रिटर्न float
जब float
द्वारा int
, float
int
द्वारा, float
विभाजित float
आदि और जब वहाँ टाइमस्टैम्प fromtimestamp()
विधि को पास किए जाने में कुछ आंशिक हिस्सा है, इस विधि का परिणाम भी है कि आंशिक भाग के बारे में जानकारी (संख्या के रूप में शामिल द्वारा microseconds के)।
सही विभाजन का उपयोग करें: '/ 1e3' – jfs
@ जेएफ। सेबेस्टियन: आप पूरी तरह से सही हैं, मैंने अपना जवाब संपादित किया है और कुछ स्पष्टीकरण जोड़ा है कि आप सही क्यों हैं। यदि आप स्पष्टीकरण से सहमत नहीं हैं, तो कृपया मुझे बताएं। – Tadeck
मुझे x/1e3 –