পাইথনে YYYY-MM-DD এ আজকের তারিখ পাচ্ছেন?


325

আমি ব্যাবহার করছি:

str(datetime.datetime.today()).split()[0]

YYYY-MM-DDফর্ম্যাটে আজকের তারিখ ফেরত ।

এটি অর্জনের জন্য কি কোনও কম অপরিশোধিত উপায় আছে?


3
"ক্রুড" বলতে কী বোঝ?
গম্বাট

4
হয়তো এই? \ n এখন = ডেটটাইম.ডেটটাইম.নো () \ n আরআর (এখন.স্ট্রফটাইম ("Y-% m-% d"))
গম্বট

3
@ গম্বাট আমি যা বলতে চাইছি তা আমার অভিজ্ঞতার মধ্যে রয়েছে, পাইথনে আমরা যে জিনিসটি চাই তা অর্জনের পথে সাধারণত একটি বিল্ড তৈরি হয়, বিভাজন, সূচি, সমঝোতা, যোগদান ইত্যাদি না করে
পাইদারম্যান

উত্তর:


601

আপনি স্ট্রফটাইম ব্যবহার করতে পারেন :

from datetime import datetime

datetime.today().strftime('%Y-%m-%d')

অতিরিক্ত হিসাবে, যে কেউ শূন্য প্যাডেড আওয়ার, মিনিট এবং দ্বিতীয়টি সন্ধানের জন্যও: ( গ্যাব্রিয়েল স্ট্যাপলস দ্বারা মন্তব্য )

datetime.today().strftime('%Y-%m-%d-%H:%M:%S')

একটি শক্তিশালী সম্ভাবনাও রয়েছে যে "% x" কাজ করবে ... তবে এটি লোকাল নির্ভর
জোড়ান বিসলে

19
যে কেউ শূন্য প্যাডে আওয়ার, মিনিট এবং দ্বিতীয়টি সন্ধানের জন্যও:datetime.datetime.today().strftime('%Y-%m-%d-%H:%M:%S')
গ্যাব্রিয়েল স্টেপলস

ঠিক time.strftime("%Y-%m-%d")কেমন?
অ্যাডারচক্স

ইউটিসি তারিখের জন্য:datetime.utcnow().strftime('%Y-%m-%d')
আগস্ট বিরো

মূল্যবান যে dateএটির পাশাপাশি এটি উপলব্ধ রয়েছেdatetime
ডামিদেব

116

আপনি datetime.date.today()ফলস্বরূপ datetime.dateঅবজেক্টটিকে স্ট্রিংয়ে রূপান্তর করতে পারেন :

from datetime import date
today = str(date.today())
print(today)   # '2017-12-26'

বিভাজকটিতে পরিবর্তন করা কি সম্ভব /?
স্টিভোসিয়াক

3
@ স্টিভেনভ্যাসেল্লারো এটি হবেdate.today().strftime('%Y/%m/%d')
kmonsoor

2
পছন্দ করুন পাঠক স্বাভাবিকভাবে বিভাজক অনুমান .'DMY', বিভাজক থেকে /থেকে M/D/Yএবং বিভাজক -থেকে Y-M-D। যদিও প্রত্যেকে এই নির্দেশিকাগুলি অনুসরণ করে না, ততক্ষণ এটি আন্তর্জাতিকভাবে তারিখগুলি পড়তে সহায়তা করবে যতক্ষণ না সকলে স্যুইচ না করে Y-M-D
glglgl

1
@glglgl আমি একটি এপিআইয়ের সাথে কাজ করছি যা আমেরিকান তারিখের ফর্ম্যাট এম / ডি / ওয়াই ধরে নেয়। আমি আমার আবেদনে ইতিমধ্যে আদেশ পরিবর্তন করেছি changed
স্টিভয়েসিয়াক

1
@glglgl হ্যাঁ, আমি এম / ডি / ওয়াই ব্যবহার করছি
স্টিভোসিয়াক

35

ডেটটাইমটি খুব সুন্দর যদি আপনি মজার কোডগুলি মনে রাখতে চান। আপনি কি সরলতা পছন্দ করবেন না?

>>> import arrow
>>> arrow.now().format('YYYY-MM-DD')
'2017-02-17'

এই মডিউল চালাক বুঝতে কি আপনি যথেষ্ট অর্থ

শুধু কর pip install arrow

সংযোজন: এই উত্তরের উপর যারা অনুশীলন করেন তাদের উত্তরে আমি কেবল এটিই বলতে পারি যে তীর পাইথনের তারিখগুলি নিয়ে কাজ করার বিকল্প পদ্ধতির মধ্যে একটির প্রতিনিধিত্ব করে । এটি বেশিরভাগই আমি বলতে চাইছিলাম।


17
এই জাতীয় কোনও সহজ কাজের জন্য, অন্তর্নির্মিত গ্রন্থাগারটি যখন সহজভাবে এটি করতে পারে তখন অন্য লাইব্রেরি কেন ব্যবহার করবেন। অবশ্যই, যদি ব্যবহারকারীকে mult সময়, তারিখ re সম্পর্কিত সম্পর্কিত ফাংশনগুলির আরও বহু লোকের প্রয়োজন হয় তবে একটি নতুন লাইব্রেরি আনার অর্থ হয়।
kmonsoor

2
আপনি আমাকে সেই দ্বিতীয় লাইনের কোডটি পড়ে হাসতে হাসতে মুগ্ধ করলেন। print(date.today())>> "2018-12-16" এর চেয়ে কীভাবে ভাল ?? lol এবং সহজেই অন্তর্নিহিত মানগুলি t.year,t.month,t.day+1>> (2018, 12, 17) পান যেখানে t = date.today()লোকেরা তাদের সময়টি জানাতে সবুজ তীর বোলে না। ওহ god
শ্বর এটি

1
@ পুডল: হাসিখুশি।
বিল বেল

@ কমসনুর কীভাবে import datetimeআলাদা import arrow? অবশ্যই এটি একটি অন্তর্নির্মিত, তবে যদি এটি arrowআরও সুবিধাজনক বিন্যাস সরবরাহ করে তবে কেন এটি ব্যবহার করবেন না?
information_interchange

1
@ ইনফরমেশন_ইন্টারচেঞ্জ আপনি ইতিমধ্যে আপনার প্রশ্নের উত্তর দিয়েছেন। অন্তর্নির্মিত বনাম না। কারও যদি সেই অতিরিক্ত জিনিসগুলির প্রয়োজন হয় তবে অবশ্যই, কেন নয় arrow? তবে, অনেকগুলি সাধারণ প্রকল্পের জন্য এটি কেবল অপ্রয়োজনীয়। এছাড়াও, অনেক সংস্থার অভ্যন্তরীণ প্রকল্পে, পিপিএলকে নতুন লাইব্রেরি অন্তর্ভুক্ত করার জন্য অনুমোদন নেওয়া দরকার।
kmonsoor

30

আমি সর্বদা এটির জন্য isoformat()ফাংশনটি ব্যবহার করি ।

from datetime import date    
today = date.today().isoformat()
print(today) # '2018-12-05'

নোট করুন যে এটি স্ট্যান্ডটাইম অবজেক্টগুলিতেও কাজ করে যদি আপনার স্ট্যান্ডার্ড ফর্ম্যাটে সময় প্রয়োজন হয়।

from datetime import datetime
now = datetime.today().isoformat()
print(now) # '2018-12-05T11:15:55.126382'

15

অন্যান্য উত্তরগুলি পাইথনের ব্যবহারের পরামর্শ দেয় datetime.datetimeতবে @ বিল বেল যেমন বলেছিলেন, এমন অন্যান্য গ্রন্থাগার রয়েছে যেগুলি datetimeসার্ভিস হিসাবে বা এপিআইয়ের বৃহত্তর বাস্তুতন্ত্রের অংশ হিসাবে সহজ ইন্টারফেস সরবরাহ করে। এখানে এমন দুটি গ্রন্থাগার রয়েছে যা datetimesখুব সাধারণ সাথে কাজ করে ।

পান্ডাস

আপনি পান্ডাস লাইব্রেরি pd.to_datetimeথেকে ব্যবহার করতে পারেন । আপনি কী ফিরে চান তার উপর নির্ভর করে এখানে বিভিন্ন বিকল্প রয়েছে।

import pandas as pd

pd.to_datetime('today')  # pd.to_datetime('now')
# Timestamp('2019-03-27 00:00:10.958567')

অজগর ডেটটাইম অবজেক্ট হিসাবে ,

pd.to_datetime('today').to_pydatetime()
# datetime.datetime(2019, 4, 18, 3, 50, 42, 587629)

বিন্যাসিত তারিখের স্ট্রিং হিসাবে,

pd.to_datetime('today').isoformat()
# '2019-04-18T04:03:32.493337'

# Or, `strftime` for custom formats.
pd.to_datetime('today').strftime('%Y-%m-%d')
# '2019-03-27'

টাইমস্ট্যাম্প থেকে ঠিক তারিখ পেতে কল করুন Timestamp.date

pd.to_datetime('today').date()
# datetime.date(2019, 3, 27)

একপাশে to_datetime, আপনি সরাসরি কোনও Timestampজিনিস ব্যবহার করে সরাসরি ইনস্ট্যান্ট করতে পারেন ,

pd.Timestamp('today')  # pd.Timestamp('now')
# Timestamp('2019-04-18 03:43:33.233093')

pd.Timestamp('today').to_pydatetime()
# datetime.datetime(2019, 4, 18, 3, 53, 46, 220068)

আপনি যদি আপনার টাইমস্ট্যাম্প টাইমজোন সচেতন করতে চান তবে tzআর্গুমেন্টে একটি সময় অঞ্চল পাস করুন ।

pd.Timestamp('now', tz='America/Los_Angeles')
# Timestamp('2019-04-18 03:59:02.647819-0700', tz='America/Los_Angeles')

দোলক

আপনি যদি দুল নিয়ে কাজ করছেন তবে কিছু আকর্ষণীয় পছন্দ রয়েছে। আপনি বর্তমান টাইমস্ট্যাম্প ব্যবহার করে now()বা আজকের তারিখ ব্যবহার করে পেতে পারেন today()

import pendulum 

pendulum.now()
# DateTime(2019, 3, 27, 0, 2, 41, 452264, tzinfo=Timezone('America/Los_Angeles'))

pendulum.today()
# DateTime(2019, 3, 27, 0, 0, 0, tzinfo=Timezone('America/Los_Angeles'))

অতিরিক্তভাবে, আপনি কোনও অতিরিক্ত টাইমডেলটা পাটিগণিত না করেই সরাসরি tomorrow()বা yesterday()তারিখ পেতে পারেন ।

pendulum.yesterday()
# DateTime(2019, 3, 26, 0, 0, 0, tzinfo=Timezone('America/Los_Angeles'))

pendulum.tomorrow()
# DateTime(2019, 3, 28, 0, 0, 0, tzinfo=Timezone('America/Los_Angeles'))

বিভিন্ন বিন্যাসের বিকল্প উপলব্ধ।

pendulum.now().to_date_string()
# '2019-03-27'

pendulum.now().to_formatted_date_string()
# 'Mar 27, 2019'

pendulum.now().to_day_datetime_string()
# 'Wed, Mar 27, 2019 12:04 AM'

3
দারুণ খবরের পান্ডায় এটিও আছে!
জাইজিডি

1
এইটি সত্যিই দুর্দান্ত, বিশেষত যখন কেউ
পান্ডাস

pd.to_datetime (দিন) .date () কার্যকর হয় যদি আপনি পান্ডা ব্যবহার করেন এবং কোনও স্ট্রিতে রূপান্তর করতে না চান। ধন্যবাদ!
ব্রান্ডন

4

খুব দেরিতে উত্তর, তবে আপনি ব্যবহার করতে পারেন:

import time
today = time.strftime("%Y-%m-%d")
# 2020-02-14

1
আপনাকে ধন্যবাদ, এটি সবচেয়ে পরিষ্কার।
বারবারোস hanzhan


-5

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

os.system('date +%Y-%m-%d')

4
এটি কেবলমাত্র তারিখের বিন্যাস করার পরিবর্তে সিস্টেমের তারিখ কমান্ড কী ফিরে আসবে তা যাচাই করার উদ্দেশ্যে এটি ব্যবহার করা উচিত। এটি প্রস্থান কোড চেকিং বাদে বিভিন্ন কারণে for 1. পোর্টেবল নয়। উইন্ডোজে তারিখ কমান্ডটি 2 তারিখটি সেট করে In এটি একটি সম্পূর্ণ শেল তৈরি করতে হবে, যার পরে বিশ্লেষণ করতে হবে, কমান্ডটি বিশ্লেষণ করতে হবে, অনুসন্ধান করতে হবে এবং কার্যকর করতে হবে, আউটপুটটি ফিরিয়ে ফেলতে হবে এবং তারপরে সেই শেলটি ধ্বংস করতে হবে It এটি কেবল অযৌক্তিক - এটি দেখায় যে আপনি সুপরিচিত মৌলিক গ্রন্থাগারগুলি জানেন না, এবং নতুনদের যারা সেই কোডটি দেখেন তাদের ভাষায় বিভ্রান্তও করতে পারে
ক্যাপ্টেন লেপটন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.