[टिप्पणियों में निम्नलिखित सुझाव संपादित]
Ben Alpert's का उपयोग करना जवाब मैं पाइथन में युग (यूनिक्स समय) के बाद से डेटाटाइम ऑब्जेक्ट को मिलीसेकंड में कैसे परिवर्तित कर सकता हूं हम निम्न कार्य कर सकते हैं:
from datetime import datetime
def unix_time(dt):
epoch = datetime.utcfromtimestamp(0)
delta = dt - epoch
return delta.total_seconds()
def unix_time_millis(dt):
return int(unix_time(dt) * 1000)
a = datetime.strptime("2015-06-27T02:10:05.653000Z", "%Y-%m-%dT%H:%M:%S.%fZ")
unix_time_millis(a)
रिटर्न:
1435371005653
जो इसके बराबर है:शनि, 27 जून 2015 02:10:05 GMT (उम्मीद के मुताबिक)
हम डेटाटाइम के .strftime('%s')
. का भी उपयोग कर सकते हैं निम्नलिखित का उपयोग करके यूनिक्स समय, मिलीसेकंड भी प्राप्त करने के लिए (लेकिन इसकी सलाह नहीं दी जाती है ):
from decimal import Decimal
int(Decimal(datetime.strptime("2015-06-27T02:10:05.653000Z", "%Y-%m-%dT%H:%M:%S.%fZ").strftime('%s.%f'))*1000)
रिटर्न:
1435396205653
के बराबर:शनि, 27 जून 2015 09:10:05 GMT (सैन डिएगो में मेरे मैक पर; नोट :यह हमारी अपेक्षा से 7 घंटे की छूट है)।
त्रुटि का कारण जे.एफ. सेबस्टियन द्वारा ऊपर दिए गए लिंक की टिप्पणियों में और इस .strftime('%s')
. के संबंध में उत्तर व्यवहार। जेएफ सेबेस्टियन बताते हैं कि "यह समर्थित नहीं है, यह पोर्टेबल नहीं है, यह चुपचाप एक जागरूक डेटाटाइम ऑब्जेक्ट के लिए गलत परिणाम उत्पन्न कर सकता है, यह विफल हो जाता है यदि इनपुट यूटीसी में है (जैसा कि प्रश्न में है) लेकिन स्थानीय टाइमज़ोन यूटीसी नहीं है"पी>