2009-04-14 23 views
73

मैं जावा में एक समान दिनांक वस्तु java.util.Date(milliseconds) द्वारा बना सकता हूं। मैं पायथन में तुलनीय कैसे बना सकता हूं?मैं पाइथन में मिलीसेकंड से डेटाटाइम कैसे बना सकता हूं?

एक दिनांक ऑब्जेक्ट आवंटित करता है और इसे "युग" नामक मानक आधार समय के बाद मिलीसेकंड की निर्दिष्ट संख्या का प्रतिनिधित्व करने के लिए शुरू करता है, अर्थात् 1 जनवरी, 1 9 70, 00:00:00 जीएमटी।

उत्तर

121

बस इसे

datetime.datetime.fromtimestamp(ms/1000.0) 
+8

एक नोट - पायथन 3, (/) में फ्लोटिंग-पॉइंट डिवीजन प्रदर्शन करेगा। अभिन्न विभाजन करने के लिए, (//) का उपयोग करें। –

+2

क्या आप वास्तव में फ्लोट डिवीजन को वैसे भी नहीं चाहते हैं? अन्यथा आप 1 सेकंड से नीचे कोई सटीकता खो रहे हैं (टाइमस्टैम्प के आंशिक भाग में आयोजित)। बिना छंटनी के एमएस/1000.0 का उपयोग करने के लिए बेहतर है। – Brian

+0

सभी प्लेटफ़ॉर्म आंशिक टाइमस्टैम्प का समर्थन नहीं करते हैं - पॉज़िक्स के पूर्णांक के साथ चिपकने के लिए बेहतर। –

5

इस बारे में क्या टाइमस्टैम्प के कन्वर्ट? मुझे लगता है यह 1970 से पहले दिनांकों को संभालने के लिए पर गिना जा सकता है और बाद में 2038.

target_date_time_ms = 200000 # or whatever 
    base_datetime = datetime.datetime(1970, 1, 1) 
    delta = datetime.timedelta(0, 0, 0, target_date_time_ms) 
    target_date = base_datetime + delta 

अजगर मानक lib में उल्लिखित:

fromtimestamp(), ValueError बढ़ा सकती है यदि टाइमस्टैम्प से बाहर है प्लेटफार्म सी localtime() या gmtime() फ़ंक्शंस द्वारा समर्थित मानों की श्रृंखला। 1 9 70 में 2038 के माध्यम से इसे सीमित करना आम बात है।

+2

आप 'utc_time = डेटाटाइम (1 9 70, 1, 1) + टाइमडेल्टा (मिलीसेकंड = मिलिस) का उपयोग कर सकते हैं' – jfs

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