পাইথনে, আপনি পর্বের সময় থেকে সেকেন্ডকে কীভাবে একটি `ডেটটাইম` বস্তুতে রূপান্তর করবেন?


248

timeমডিউল যুগান্তকারী যেহেতু সেকেন্ড ব্যবহার সক্রিয়া করা যেতে পারে:

>>> import time
>>> t1=time.gmtime(1284286794)
>>> t1
time.struct_time(tm_year=2010, tm_mon=9, tm_mday=12, tm_hour=10, tm_min=19, 
                 tm_sec=54, tm_wday=6, tm_yday=255, tm_isdst=0)

datetime.datetimeএকইভাবে কোনও বস্তুর সূচনা করার জন্য কি কোনও মার্জিত উপায় আছে ?


উত্তর:


404

datetime.datetime.fromtimestamp করবে, যদি আপনি সময় অঞ্চলটি জানেন তবে আপনি একই আউটপুট উত্পাদন করতে পারবেন time.gmtime

>>> datetime.datetime.fromtimestamp(1284286794)
datetime.datetime(2010, 9, 12, 11, 19, 54)

অথবা

>>> datetime.datetime.utcfromtimestamp(1284286794)
datetime.datetime(2010, 9, 12, 10, 19, 54)

42
উদ্ভট, datetime.utcfromtimestampএকটি নিষ্পাপ টাইমস্ট্যাম্প তৈরি করে। একটি সচেতন ডেটটাইম তৈরি করতে আমার import pytzব্যবহার datetime.fromtimestamp(1423524051, pytz.utc)করতে হয়েছিল।
ম্যাট

6
একটি ফলো অন উপরোক্ত, পাইথন> = 3.2 সঙ্গে আপনি আমদানি করতে হবে না যেমন pytzআপনি শুধুমাত্র করতে হবে - গ্রন্থাগার আপনি শুধুমাত্র ইউটিসি টাইমস্ট্যাম্প চান from datetime import datetime, timezone: এবং তারপর কল হিসাবে এটি অনুসরণ করে datetime.fromtimestamp(1423524051, timezone.utc)। এটি কেবলমাত্র ইউটিসি টাইমজোন থেকে যখন প্রয়োজন হয় তখন এটি বহুবার অতিরিক্ত গ্রন্থাগার সংরক্ষণ করে pytz
phouse512

38

সেকেন্ড যুগান্তকারী যেহেতু করতে datetimeকরতে strftime:

>>> ts_epoch = 1362301382
>>> ts = datetime.datetime.fromtimestamp(ts_epoch).strftime('%Y-%m-%d %H:%M:%S')
>>> ts
'2013-03-03 01:03:02'

এটি ডেটটাইম.ফর্মটাইমস্ট্যাম্প হতে হবে (1579366345) .স্ট্রফটাইম ('% Y-% m-% d% H:% M:% S')
ভিএমএল 19

25

দস্তাবেজগুলি থেকে, মহাকাশকাল থেকে সেকেন্ড থেকে সময় অঞ্চল সচেতন ডেটটাইম অবজেক্ট পাওয়ার প্রস্তাবিত উপায় হ'ল:

পাইথন 3 :

from datetime import datetime, timezone
datetime.fromtimestamp(timestamp, timezone.utc)

পাইথন 2 , ব্যবহার করে pytz:

from datetime import datetime
import pytz
datetime.fromtimestamp(timestamp, pytz.utc)

আপনার সাবটাইটেলগুলিতে ডকুমেন্টেশনের একটি লিঙ্ক ("পাইথন 3", "পাইথন 2") দরকারী হবে - এবং আমি তাদের ক্রমটি পরিবর্তন করার পরামর্শ দিই।
আদম মতান

আপডেট করা হয়েছে। অর্ডারটি একইভাবে ছেড়ে দেওয়া, যেহেতু পাইথন ডক্সের সাথে এটি মেলে।
মাইস্ট্রো

tzinfo অবজেক্ট pytzপেতে আপনার দরকার নেই utcএটি নিজে তৈরি করা সহজ
jfs

9

ডেটটাইম.ডেটটাইম নোট করুন। থেকে টাইমস্ট্যাম্প (টাইমস্ট্যাম্প) এবং। উটকফ্রোমটাইমস্ট্যাম্প (টাইমস্ট্যাম্প) জানুয়ারীর 1 তারিখের আগে উইন্ডোজগুলিতে ব্যর্থ হয় যখন নেতিবাচক ইউনিক্স টাইমস্ট্যাম্পগুলি ইউনিক্স-ভিত্তিক প্ল্যাটফর্মগুলিতে কাজ করে বলে মনে হচ্ছে। দস্তাবেজগুলি এটি বলে:

" যদি টাইমস্ট্যাম্পটি প্ল্যাটফর্ম সি জিএমটাইম () ফাংশন দ্বারা সমর্থিত মানগুলির সীমার বাইরে থাকে তবে এটি ১৯38০ সালে ২০৩৮ সালের মধ্যে বছরগুলিতে সীমাবদ্ধ থাকা সাধারণ বিষয় "

ইস্যুও 1646728 দেখুন


: ও) হ্যাঁ, এখনও 23 বছর স্থির হতে দিন
ব্যবহারকারী3666197

5
আপনি এটি ব্যবহার করতে পারে utc_time = datetime(1970,1,1) + timedelta(seconds=timestamp)
jfs
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.