টাইপ অবজেক্ট 'ডেটটাইম.ডেটটাইম' এর কোনও 'ডেটটাইম' নেই


126

আমি নিম্নলিখিত ত্রুটি পেয়েছি:

টাইপ অবজেক্ট 'ডেটটাইম.ডেটটাইম' এর কোনও 'ডেটটাইম' নেই

নিম্নলিখিত লাইনে:

date = datetime.datetime(int(year), int(month), 1)

কেউ কি ত্রুটির কারণ জানতে পারে?

from datetime import datetimeযদি ডেটটাইম আমদানি করে তবে তা সাহায্য করে

ধন্যবাদ

উত্তর:


225

ডেটটাইম হ'ল একটি মডিউল যা তারিখ, সময় এবং তারিখের সময়গুলি হ্যান্ডল করার অনুমতি দেয় (এগুলির সমস্তই ডেটাটাইপস)। এর অর্থ এটি datetimeউভয়ই একটি শীর্ষ-স্তরের মডিউল এবং সেই মডিউলের মধ্যে একটি ধরণের হওয়া। এটা সন্দ্বিহান.

আপনার ত্রুটি সম্ভবত মডিউলটির বিভ্রান্তিকর নামকরণের উপর ভিত্তি করে এবং আপনি বা কোনও মডিউল যা ব্যবহার করছেন তা ইতিমধ্যে আমদানি করা হয়েছে।

>>> import datetime
>>> datetime
<module 'datetime' from '/usr/lib/python2.6/lib-dynload/datetime.so'>
>>> datetime.datetime(2001,5,1)
datetime.datetime(2001, 5, 1, 0, 0)

তবে, যদি আপনি ডেটটাইম ডেটটাইম আমদানি করেন:

>>> from datetime import datetime
>>> datetime
<type 'datetime.datetime'>
>>> datetime.datetime(2001,5,1) # You shouldn't expect this to work 
                                # as you imported the type, not the module
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
>>> datetime(2001,5,1)
datetime.datetime(2001, 5, 1, 0, 0)

আমি তোমাদের সন্দেহ বা মডিউল আপনি ব্যবহার করছেন একজনের এই মত আমদানিকৃত করেছেন: from datetime import datetime


3
@ জোজ্জাস দুর্দান্ত উত্তর। আমার টাইমডেল্টায় একটি সমস্যা ছিল যা আপনার সমাধানের সাথে সমাধান করা হয়েছিল। Txs।
লুইস মিগুয়েল

1
@ জিন এটি ডেটটাইম এর দোষ যা তার নিজস্ব মডিউলের নামটি তার এক শ্রেণীর নাম দিয়ে ছায়া দেয়, অজগর নয়।
রবিনো

85

অজগর জন্য 3.3

from datetime import datetime, timedelta
futuredate = datetime.now() + timedelta(days=10)

12
+1 টি। আমি মনে করি এটি সঠিক উত্তর হওয়া উচিত কারণ যতদূর আমি জানি import datetimeসর্বদা সমস্যা সৃষ্টি করে, তাই আমি এমন একটি সমাধানের পক্ষে যা ব্যবহার করেfrom datetime import datetime
jeff

14

আপনার ব্যবহার করা উচিত

date = datetime(int(year), int(month), 1)

বা পরিবর্তন

from datetime import datetime

প্রতি

import datetime

11

মডিউলটি সত্যই তার নিজস্ব উপন্যাসে আমদানি করা উচিত ।

import datetime as dt
my_datetime = dt.datetime(year, month, day)

উপরের অন্যান্য সমাধানগুলির তুলনায় নিম্নলিখিত সুবিধা রয়েছে:

  • my_datetimeপরিবর্তিত পরিবর্তে কল করা dateবিভ্রান্তি হ্রাস করে কারণ ইতিমধ্যে একটি আছেdateডেটটাইম মডিউলটিতেdatetime.date
  • মডিউল এবং শ্রেণি (উভয়ই বলা হয় datetime) একে অপরের ছায়া দেয় না।

1

আপনি যদি ব্যবহার করেছেন:

from datetime import datetime

তারপরে কেবল কোডটি লিখুন:

date = datetime(int(year), int(month), 1)

তবে আপনি যদি ব্যবহার করেছেন:

import datetime

তবে কেবল আপনি লিখতে পারেন:

date = datetime.datetime(int(2005), int(5), 1)


1

আমি হয়তো একই ভুল মধ্যে চালানো যদি আপনার আগে থেকেই শুধুমাত্র ব্যবহার করে মডিউল আমদানি করেছি import datetime, যাতে পরিবর্তন form datetime import datetimeকেবল import datetime। আমি এটি পরিবর্তন করার পরে এটি আমার পক্ষে কাজ করেছিল।


-2
from datetime import datetime
import time
from calendar import timegm
d = datetime.utcnow()
d = d.strftime("%Y-%m-%dT%H:%M:%S.%fZ")
utc_time = time.strptime(d,"%Y-%m-%dT%H:%M:%S.%fZ")
epoch_time = timegm(utc_time)

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