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


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.