इसके दो भाग हैं:
- स्थानीय समय में यूनिक्स टाइमस्टैम्प ("सेकंड के बाद से") में कनवर्ट करें
- वांछित प्रारूप में स्थानीय समय प्रदर्शित करें।
स्थानीय समय प्राप्त करने के लिए एक पोर्टेबल तरीका जो भले ही स्थानीय समय क्षेत्र अतीत में एक अलग utc ऑफसेट था और अजगर के पास tz डेटाबेस तक कोई पहुंच नहीं है, एक pytz
समयक्षेत्र का उपयोग करना है :
#!/usr/bin/env python
from datetime import datetime
import tzlocal # $ pip install tzlocal
unix_timestamp = float("1284101485")
local_timezone = tzlocal.get_localzone() # get pytz timezone
local_time = datetime.fromtimestamp(unix_timestamp, local_timezone)
इसे प्रदर्शित करने के लिए, आप अपने सिस्टम द्वारा समर्थित किसी भी समय प्रारूप का उपयोग कर सकते हैं जैसे:
print(local_time.strftime("%Y-%m-%d %H:%M:%S.%f%z (%Z)"))
print(local_time.strftime("%B %d %Y")) # print date in your format
यदि आपको स्थानीय समय की आवश्यकता नहीं है, तो इसके स्थान पर एक पठनीय यूटीसी समय प्राप्त करें:
utc_time = datetime.utcfromtimestamp(unix_timestamp)
print(utc_time.strftime("%Y-%m-%d %H:%M:%S.%f+00:00 (UTC)"))
यदि आप उस समय के मुद्दों की परवाह नहीं करते हैं जो प्रभावित हो सकता है कि कौन सी तारीख वापस आ गई है या यदि अजगर आपके सिस्टम पर tz डेटाबेस तक पहुंच गया है:
local_time = datetime.fromtimestamp(unix_timestamp)
print(local_time.strftime("%Y-%m-%d %H:%M:%S.%f"))
पायथन 3 पर, आप केवल stdlib (UTC ऑफसेट का उपयोग गलत हो सकता है अगर अजगर आपके सिस्टम पर tz डेटाबेस तक पहुँच नहीं है, उदाहरण के लिए, विंडोज पर), एक टाइमज़ोन-अवगत डेटाटाइम प्राप्त कर सकता है:
#!/usr/bin/env python3
from datetime import datetime, timezone
utc_time = datetime.fromtimestamp(unix_timestamp, timezone.utc)
local_time = utc_time.astimezone()
print(local_time.strftime("%Y-%m-%d %H:%M:%S.%f%z (%Z)"))
time
मॉड्यूल से कार्य संगत C API के आसपास पतले रैपर हैं और इसलिए वे संबंधित datetime
विधियों की तुलना में कम पोर्टेबल हो सकते हैं अन्यथा आप उनका उपयोग कर सकते हैं:
#!/usr/bin/env python
import time
unix_timestamp = int("1284101485")
utc_time = time.gmtime(unix_timestamp)
local_time = time.localtime(unix_timestamp)
print(time.strftime("%Y-%m-%d %H:%M:%S", local_time))
print(time.strftime("%Y-%m-%d %H:%M:%S+00:00 (UTC)", utc_time))