আমি কীভাবে ডেটটাইমকে ডেটে রূপান্তর করব (পাইথনে)?


643

আমি কীভাবে কোনও datetime.datetimeবস্তুকে রূপান্তর করব (উদাহরণস্বরূপ, পাইথনের datetime.datetime.now())কোনও datetime.dateবস্তুর ফেরতের মান) ?


16
আপনার যদি কেবল এটির প্রয়োজন হয় datetime.datetime.now()তবে দয়া করে মনে রাখবেন যে একটি পদ্ধতি রয়েছে datetime.date.today()
থিয়েরি জে

আপনি যদি ইতিমধ্যে ডেটটাইম আমদানি করে থাকেন যেমন উদাহরণস্বরূপ from datetime import datetimeআপনি তারিখটি যুক্ত করতে পারেনfrom datetime import datetime, date
জোশ

উত্তর:


981

date()পদ্ধতিটি ব্যবহার করুন :

datetime.datetime.now().date()

14
ইউটিসি-তে যাওয়ার জন্য যা খুব সহায়ক হতে পারে -> datetime.datetime.utcnow()এবং ততক্ষণেdatetime.datetime.utcnow().date()
নিক ব্রাডি

2
ধন্যবাদ @ সান কলম্বো, একটি নির্দিষ্ট টাইমজোনের বর্তমান তারিখটি হওয়া উচিতdatetime.datetime.now(pytz.timezone('US/Pacific')).date()
মোনিকা সিইওর জন্য


62

আপনি datetime.datetime.date()পদ্ধতিটি ব্যবহার করুন :

datetime.datetime.now().date()

স্পষ্টতই, উপরের অভিব্যক্তিটি (এবং আইএমএইচও :) হওয়া উচিত:

datetime.date.today()

14
লোকটিকে বিভ্রান্ত করবেন না
ফিয়াতজাফ

1
সত্যি কথা বলতে .today()গেলে , এই উত্তরটি (ব্যবহার করা ) বর্ণিত উদাহরণ প্রশ্নের জন্য সর্বাধিক পাইথোনিক।
ড্যানিড

2
আপনি যদি আজ ব্যবহার করেন তবে কোনও তারিখের সাথে তুলনা করার সময় সাবধানতা অবলম্বন করুন। today()একটি ঘন্টা উপাদান রয়েছে। সুতরাং যদি আপনি এটি করেন: losdat = datetime.datetime.strptime(losdatstr, '%d%m%Y')এবং তবে if losdat < datetime.datetime.today():এটি সর্বদা সত্য losdatহবে কারণ মধ্যরাতের একটি সময় উপাদান থাকবে যা টাইমস্ট্যাম্পের আগে পড়বেtoday()
ডেনিস ডেকোয়েন

3
@ ডেনিসডেকোইন: যখন কেউ কোনও জিনিস চায় তখন তার datetime.datetime.today()পরিবর্তে কেন ব্যবহার করবেন ? datetime.date.today()datetime.date
tzot

@ টজোট হ্যাঁ এটিই আমি উল্লেখ করতে চেয়েছিলাম তবে এটি সম্পর্কে অস্পষ্ট ছিল।
ডেনিস ডেকোয়েন

45

তারিখের সময় অবজেক্টের তারিখ () পদ্ধতির সাহায্যে আপনি একটি ডেটটাইম অবজেক্টকে তারিখে রূপান্তর করতে পারেন:

<datetime_object>.date()

3
import time
import datetime

# use mktime to step by one day
# end - the last day, numdays - count of days to step back
def gen_dates_list(end, numdays):
  start = end - datetime.timedelta(days=numdays+1)
  end   = int(time.mktime(end.timetuple()))
  start = int(time.mktime(start.timetuple()))
  # 86400 s = 1 day
  return xrange(start, end, 86400)

# if you need reverse the list of dates
for dt in reversed(gen_dates_list(datetime.datetime.today(), 100)):
    print datetime.datetime.fromtimestamp(dt).date()

2
আপনি কি এই উত্তরটি এখানে পোস্ট করার অর্থ দিয়েছিলেন? আমার উত্তর দেখে মনে হচ্ছে আপনার উত্তরটি একটি ভিন্ন প্রশ্নের দিকে পরিচালিত।
সমস্ত কর্মী

2

আপনি এই কোড ফর্মটি প্রবেশ করতে পারেন (আজকের তারিখ এবং দিন এবং নামগুলির নাম) : datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')

'19 -09-09 সোমবার 17:37:56 '

এবং এই কোডটি প্রবেশ করান ( আজকের তারিখটি সহজভাবে) : datetime.date.today().strftime('%y-%m-%d') '19 -09-10 '

বস্তুর জন্য: datetime.datetime.now().date() datetime.datetime.today().date() datetime.datetime.utcnow().date() datetime.datetime.today().time() datetime.datetime.utcnow().date() datetime.datetime.utcnow().time()


ওপি datetime.dateঅবজেক্ট পেতে চেয়েছিল , স্ট্রিং নয়, যা strftimeপ্রত্যাবর্তন করবে (রেফ: ডকস.পাইথন.আর / 3 / লাইব্রেরি / ডেটটাইম.ইচটিএমএল# ডেটটাইম.ডেট.স্ট্রিফটাইম )।
গ্রজেগোর্জ স্কিবিনস্কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.