পাঠযোগ্য বিন্যাসের তারিখ সহ আমি কীভাবে অজগরটির তারিখটিকে স্ট্রিংয়ে পরিণত করব?


171
t = e['updated_parsed']
dt = datetime.datetime(t[0],t[1],t[2],t[3],t[4],t[5],t[6]
print dt
>>>2010-01-28 08:39:49.000003

আমি কীভাবে এটিকে স্ট্রিংয়ে পরিণত করব ?:

"January 28, 2010"

8
dt = datetime.datetime(*t[:7])

উত্তর:


242

ডেটটাইম ক্লাসে একটি পদ্ধতি স্ট্রফটাইম থাকে। পাইথন ডক্স বিভিন্ন স্বরূপ গ্রহণ করে তা নথি করে:

এই সুনির্দিষ্ট উদাহরণের জন্য এটি দেখতে এমন কিছু দেখাচ্ছে:

my_datetime.strftime("%B %d, %Y")

1
বোবা প্রশ্ন ... strftimeপাইথন 2 এবং 3 এর মধ্যে কী আলাদা?
jww

এবং যদি
পুরোপুরিভাবে

112

পাইথনের সাধারণ ফর্ম্যাটিং ফাংশনটি ব্যবহার করে আপনি কীভাবে এটি সম্পাদন করতে পারেন তা এখানে ...

>>>from datetime import datetime
>>>"{:%B %d, %Y}".format(datetime.now())

এখানে ব্যবহৃত বিন্যাস অক্ষরগুলি স্ট্রফটাইম দ্বারা ব্যবহৃত হিসাবে একই । নেতৃস্থানীয় মিস করবেন না: বিন্যাস নির্দিষ্টকরণকারক মধ্যে ।

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

>>>"{} today's date is: {:%B %d, %Y}".format("Andre", datetime.now())

নিম্নলিখিত স্ট্রফটাইম () বিকল্পের সাথে উপরের তুলনা করুন ...

>>>"{} today's date is {}".format("Andre", datetime.now().strftime("%B %d, %Y"))

তদুপরি, নিম্নলিখিতগুলি কাজ করছে না ...

>>>datetime.now().strftime("%s %B %d, %Y" % "Andre")
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    datetime.now().strftime("%s %B %d, %Y" % "Andre")
TypeError: not enough arguments for format string

এবং আরও ...


1
আমি ভাবছিলাম এই ক্ষেত্রে ফরমেট () এর জন্য স্ট্রফটাইম () ব্যবহার করার সুবিধা কী। কোন পদ্ধতি ব্যক্তিগত পছন্দ ছাড়া অন্য কোন উপকার উপস্থাপন করে? পারফরম্যান্স পার্থক্য কি?
আন্দ্রে

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

1
ফর্ম্যাট পদ্ধতি বেশিরভাগ ক্ষেত্রেই সহজ। তুলনা: print 'Today is {:%B %d, %Y}'.format(datetime.now())থেকে print 'Today is {}'.format(datetime.now().strftime('%B %d, %Y')। আপনি যখন যাইহোক বিন্যাস () পদ্ধতি ব্যবহার করছেন, তখন কেন এটি তারিখের বিন্যাসের জন্য ব্যবহার করবেন না?
চেইমজি

30

পাইথন ৩.6++ এফ স্ট্রিং ব্যবহার করা Using

from datetime import datetime

date_string = f'{datetime.now():%Y-%m-%d %H:%M:%S%z}'

এটি সিনট্যাক্স ত্রুটিটি ছুড়ে ফেলেছে: "সিনট্যাক্সেরর: অবৈধ সিনট্যাক্স"। আপনি দয়া করে বিস্তারিত বলতে পারেন?
সাজিদ

ঠিক আছে. আমার পাইথন 3.5.৩.১। এই কারণে. স্পষ্টতার জন্য ধন্যবাদ।
সাজিদ

21

খুব পুরানো প্রশ্ন, আমি জানি। তবে নতুন এফ-স্ট্রিংগুলির সাথে (পাইথন ৩. from থেকে শুরু) নতুন বিকল্প রয়েছে। সম্পূর্ণতার জন্য এখানে:

from datetime import datetime

dt = datetime.now()

# str.format
strg = '{:%B %d, %Y}'.format(dt)
print(strg)  # July 22, 2017

# datetime.strftime
strg = dt.strftime('%B %d, %Y')
print(strg)  # July 22, 2017

# f-strings in python >= 3.6
strg = f'{dt:%B %d, %Y}'
print(strg)  # July 22, 2017

strftime()এবং strptime()আচরণ বিন্যাসের নির্দিষ্টকরণগুলির অর্থ কী তা ব্যাখ্যা করে।



9

পাইথন ডেটটাইম অবজেক্টে একটি মেথড অ্যাট্রিবিউট রয়েছে, যা পাঠযোগ্য ফর্ম্যাটে মুদ্রণ করে।

>>> a = datetime.now()
>>> a.ctime()
'Mon May 21 18:35:18 2018'
>>> 

এটি পাঠযোগ্য ফর্ম্যাটে ডেটটাইম পাওয়ার অন্যতম সেরা, সহজ ও দ্রুত উপায় ways
মুজিব ইসহাক

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.