পাইথনের ডেটটাইম অবজেক্ট থেকে কীভাবে বছরটি উত্তোলন করা যায়?


107

আমি পাইথন ব্যবহার করে বর্তমান তারিখ থেকে বছরটি বের করতে চাই।

সি # তে এটি দেখতে:

 DateTime a = DateTime.Now() 
 a.Year

পাইথনে কী দরকার?

উত্তর:


155

পাইথনে এটি আসলে একই রকম .. :-)

import datetime
year = datetime.date.today().year

অবশ্যই, তারিখের কোনও সময় সম্পর্কিত নেই, সুতরাং আপনি যদি সে সম্পর্কেও যত্নশীল হন তবে আপনি একটি সম্পূর্ণ ডেটটাইম অবজেক্টের সাহায্যে এটি করতে পারেন:

import datetime
year = datetime.datetime.today().year

(স্পষ্টতই আলাদা নয়, তবে আপনি অবশ্যই বছর কেটে নেওয়ার আগে ডেটটাইম.ডেটটাইম.টোডে () অবশ্যই ভেরিয়েবলে সঞ্চয় করতে পারেন))।

একটি গুরুত্বপূর্ণ বিষয় লক্ষণীয়: সময়ের উপাদানগুলি কিছু পাইথন সংস্করণে 32-বিট এবং 64-বিট পাইথনের মধ্যে পৃথক হতে পারে (আমার মনে হয় 2.5.x ট্রি)। সুতরাং আপনি কিছু -৪ বিট প্ল্যাটফর্মগুলিতে ঘন্টা / মিনিট / সেকেন্ডের মতো জিনিসগুলি পাবেন, যখন আপনি 32-বিটের উপর ঘন্টা / মিনিট / সেকেন্ড পান।


1
ডেটটাইম.ডেটটাইম.টোডে ()। বছর পাইথনের জন্য কাজ করে নি 3.. এটি একটি ত্রুটি ফিরিয়ে এট্রিবিউটআরার: টাইপ অবজেক্ট 'ডেটটাইম.ডেটটাইম' এর কোনও 'ডেটটাইম' নেই । আমাকে
ডেটটাইম.টোডি

1
@ টুউম, কারণ আপনি ডেটটাইম "ডেটটাইম আমদানির তারিখের সময় থেকে" হিসাবে আমদানি করেছিলেন। আপনি যদি কেবল "আমদানির তারিখের সময়" করে থাকেন তবে সমাধানটি কার্যকর হবে। আপনার কাছে যেমন আছে ঠিক তেমনই।
অ্যাপটারোনোটাস

26
import datetime
a = datetime.datetime.today().year

বা এমনকি ( লেনার্টের পরামর্শ অনুসারে )

a = datetime.datetime.now().year

অথবা এমনকি

a = datetime.date.today().year

1
যদিও এখন () একটি তারিখের সময় আরও প্রাকৃতিক বোধ করে। ডেটটাইম.ডেট.টোডে () বছর, সম্ভবত maybe :)
লেনার্ট রেজেব্রো

আমি সে সম্পর্কে চিন্তাও করিনি, এবং আমি অনুমান করি যে এটি সময়ের সাথে আরও "নির্ভুল" বোধ করে, যেখানে আজ () সম্ভবত দিনের নির্দিষ্টতা বোঝায়। অদ্ভুত যে (কমপক্ষে

এগুলি একেবারেই এক নয়, ডেটটাইম.নো () একটি টাইমজোন অবজেক্ট গ্রহণ করে, যখন ডেটটাইম.টোডে () কেবলমাত্র টাইমস্ট্যাম্প (টাইম.টাইম ()) কল করে এবং তাই আজ () পাইথন যেভাবে আপনার স্থানীয় সময় অঞ্চল মনে করে তাতে সর্বদা থাকবে হ'ল, যেখানে আপনি কিছুটা আকর্ষণীয় জিনিস বলতে এখন () পেতে পারেন।
নিক বেস্টিন

17

এই প্রশ্নের অন্যান্য উত্তরগুলি এটিকে আঘাত করে বলে মনে হচ্ছে। এখন কীভাবে আপনি স্ট্যাক ওভারফ্লো ছাড়াই নিজের জন্য এটি নির্ধারণ করবেন? পরীক্ষা করে দেখুন IPython , একটি ইন্টারেক্টিভ পাইথন শেল আছে ট্যাব স্বয়ং-সম্পূর্ণ।

> ipython
import Python 2.5 (r25:51908, Nov  6 2007, 16:54:01)
Type "copyright", "credits" or "license" for more information.

IPython 0.8.2.svn.r2750 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object'. ?object also works, ?? prints more.

In [1]: import datetime
In [2]: now=datetime.datetime.now()
In [3]: now.

কয়েকবার ট্যাব টিপুন এবং আপনাকে "এখন" অবজেক্টের সদস্যদের সাথে অনুরোধ করা হবে:

now.__add__           now.__gt__            now.__radd__          now.__sub__           now.fromordinal       now.microsecond       now.second            now.toordinal         now.weekday
now.__class__         now.__hash__          now.__reduce__        now.astimezone        now.fromtimestamp     now.min               now.strftime          now.tzinfo            now.year
now.__delattr__       now.__init__          now.__reduce_ex__     now.combine           now.hour              now.minute            now.strptime          now.tzname
now.__doc__           now.__le__            now.__repr__          now.ctime             now.isocalendar       now.month             now.time              now.utcfromtimestamp
now.__eq__            now.__lt__            now.__rsub__          now.date              now.isoformat         now.now               now.timetuple         now.utcnow
now.__ge__            now.__ne__            now.__setattr__       now.day               now.isoweekday        now.replace           now.timetz            now.utcoffset
now.__getattribute__  now.__new__           now.__str__           now.dst               now.max               now.resolution        now.today             now.utctimetuple

এবং আপনি দেখতে পাবেন যে now.year "এখন" বস্তুর সদস্য।


2
এছাড়াও, এটি: docs.python.org/library/datatypes.html তবে আপনাকে ধন্যবাদ, আমি

2
সমস্যা সমাধানের জন্য কুডোস - আসল সমাধানের পরিপূরক।
আইসল্যান্ড_জ্যাক

যারা আইপিথন ইনস্টল করতে চান না তাদের জন্য, সম্ভাব্য পদ্ধতি এবং বৈশিষ্ট্যগুলি দেখার জন্য আপনি স্যার সহ যে কোনও ফাংশন বা ক্লাসটি গুটিয়ে রাখতে পারেন। পছন্দ করুন, দির (ডেটটাইম.ডেটটাইম.নো) আপনাকে আইপথনে টিপ টিপানোর মতো উপলভ্য ফাংশন দেবে।
সৌরভ পাঠক

6

আপনি যদি কোনও (অজানা) ডেটটাইম-অবজেক্ট থেকে বছরটি চান:

tijd = datetime.datetime(9999, 12, 31, 23, 59, 59)

>>> tijd.timetuple()
time.struct_time(tm_year=9999, tm_mon=12, tm_mday=31, tm_hour=23, tm_min=59, tm_sec=59, tm_wday=4, tm_yday=365, tm_isdst=-1)
>>> tijd.timetuple().tm_year
9999
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.