2012-03-16 11 views
106

पर पूर्णांक टाइमस्टैम्प को कैसे परिवर्तित करें मेरे पास "1331856000000" जैसे टाइमस्टैम्प वाली डेटा फ़ाइल है। दुर्भाग्य से, मेरे पास प्रारूप के लिए बहुत सारे दस्तावेज नहीं हैं, इसलिए मुझे यकीन नहीं है कि टाइमस्टैम्प कैसे प्रारूपित किया गया है। मैंने पायथन के मानक datetime.fromordinal() और datetime.fromtimestamp() और कुछ अन्य लोगों को आजमाया है, लेकिन कुछ भी मेल नहीं खाता है। मुझे पूरा यकीन है कि विशेष संख्या वर्तमान तिथि (उदा। 2012-3-16) से मेल खाती है, लेकिन बहुत कुछ नहीं।पाइथन डेटाटाइम

मैं इस नंबर को datetime पर कैसे परिवर्तित करूं?

उत्तर

193

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 को विभाजित करते समय (/ ऑपरेटर का उपयोग करके) intint (इसे फर्श डिवीजन कहा जाता है)। 1e3 भाजक (नाव के रूप में 1000 की जा रही है प्रतिनिधित्व) के साथ या float(1000) (या 1000. आदि) के साथ भाजक 1000 (एक int जा रहा है) की जगह रखकर विभाजन सच विभाजन हो जाता है। अजगर 2.x रिटर्न float जब float द्वारा int, floatint द्वारा, float विभाजित float आदि और जब वहाँ टाइमस्टैम्प fromtimestamp() विधि को पास किए जाने में कुछ आंशिक हिस्सा है, इस विधि का परिणाम भी है कि आंशिक भाग के बारे में जानकारी (संख्या के रूप में शामिल द्वारा microseconds के)।

+6

सही विभाजन का उपयोग करें: '/ 1e3' – jfs

+0

@ जेएफ। सेबेस्टियन: आप पूरी तरह से सही हैं, मैंने अपना जवाब संपादित किया है और कुछ स्पष्टीकरण जोड़ा है कि आप सही क्यों हैं। यदि आप स्पष्टीकरण से सहमत नहीं हैं, तो कृपया मुझे बताएं। – Tadeck

+3

मुझे x/1e3 –

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