এই শর্তটি সর্বদা Trueএকই দিন হলেও মূল্যায়ণ করে কারণ এটি সময়ের তুলনা করে।
from datetime import datetime
# ...
if date_num_posts < datetime.today():
তারিখ একই দিন হয় কিনা তা আমি কীভাবে পরীক্ষা করতে পারি datetime.today()?
এই শর্তটি সর্বদা Trueএকই দিন হলেও মূল্যায়ণ করে কারণ এটি সময়ের তুলনা করে।
from datetime import datetime
# ...
if date_num_posts < datetime.today():
তারিখ একই দিন হয় কিনা তা আমি কীভাবে পরীক্ষা করতে পারি datetime.today()?
উত্তর:
আপনি যদি কেবল তারিখগুলি তুলনা করতে চান,
yourdatetime.date() < datetime.today().date()
বা, স্পষ্টতই,
yourdatetime.date() == datetime.today().date()
আপনি যদি পরীক্ষা করতে চান যে তারা একই তারিখ।
ডকুমেন্টেশন সাধারণত সহায়ক। এছাড়া সাধারণত প্রথম গুগল ফল python thing_i_have_a_question_about। আপনার প্রশ্নটি "সাপ" নামের কোনও ফাংশন / মডিউল সম্পর্কে না হলে।
মূলত, datetimeসময়টিতে একটি পয়েন্ট সংরক্ষণের জন্য মডিউলটির তিন প্রকার রয়েছে:
date বছর, মাস, মাসের দিনtime ঘন্টা, মিনিট, সেকেন্ড, মাইক্রোসেকেন্ডস, সময় অঞ্চল সম্পর্কিত তথ্যের জন্যdatetimeতারিখ এবং সময় একত্রিত। এটি সম্পর্কিত এবং অবজেক্টগুলি পাওয়ার পদ্ধতি রয়েছে date()এবং একত্রিত করার জন্য এবং এর মধ্যে একটি কার্যকরী ফাংশন রয়েছে ।time()datetimecombinedatetimedatetimeআপনি যদি নিম্নলিখিত কোডটি ব্যবহার করতে পারেন তবে কেবলমাত্র মাসের মানের তুলনা করতে হবে:
if yourdate.day == datetime.today().day:
# do something
আপনার যদি দুটি খেজুরের মধ্যে পার্থক্য গ্রহণযোগ্য কিনা তা পরীক্ষা করে দেখতে হয় তবে আপনি টাইমডেলটা ব্যবহার করতে পারেন :
if (datetime.today() - yourdate).days == 0:
#do something
আপনি যদি কেবল খালি ব্যবহার করতে পারেন তার চেয়ে আপনি যদি তারিখের অংশটি তুলনা করতে চান:
from datetime import datetime, date
if yourdatetime.date() < datetime.today().date()
# do something
নোট করুন যে টাইমডেল্টায় নিম্নলিখিত ফর্ম্যাট রয়েছে:
datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
সুতরাং আপনার যা প্রয়োজন তা নির্ভর করে আপনি দিন, সেকেন্ড, এমসেক, মিনিট এবং এর মধ্যে ভিন্নতা পরীক্ষা করতে সক্ষম হন:
from datetime import datetime
if (datetime.today() - yourdate).days == 0:
#do something
আপনার ক্ষেত্রে যখন আপনাকে দুটি তারিখ ঠিক একই সময় পরীক্ষা করতে হয় আপনি টাইমডেল্টা (0) ব্যবহার করতে পারেন:
from datetime import datetime, timedelta
if (datetime.today() - yourdate) == timedelta(0):
#do something
.dayমাসের দিন। সুতরাং 12 ই ডিসেম্বর আপনার প্রথম স্নিপেট কোড ব্যবহার করে 12 ডিসেম্বর "সমান"। ওপি সম্ভবত আচরণটি নয়।
আপনি নিজের পছন্দ অনুযায়ী ঘন্টা, মিনিট, সেকেন্ড এবং মাইক্রোসেকেন্ডগুলি সেট করতে পারেন
datetime.datetime.today().replace(hour=0, minute=0, second=0, microsecond=0)
তবে ট্রুথিয়েলিটির উত্তর সম্ভবত সেরা যখন সেগুলি সমস্ত শূন্য হয় এবং আপনি কেবল .date()সময়ের সংযোগ তুলনা করতে পারেন
আপনার যদি শত তারিখের সময় তুলনা করতে হয় তবে এটি দ্রুততর কারণ আপনাকে কেবল replace()একবার বনাম শত শত কল করতে হবেdate()