Pythonスクリプトからエラーが発生しました。日付が渡されたときに問題が発生しているか、インポートされたdatetimeモジュールから間違ったメソッドを使用しているためです。日時関数の動作が停止しました
コード
import webapp2
import json
import urllib
import urllib2
from datetime import datetime, timedelta
from google.appengine.ext import ndb
from google.appengine.api import users
import db
import shift_calendar
import templates
import authenticate
def is_BST(input_date):
if input_date.month in range(4,9):
return True
if input_date.month in [11,12,1,2]:
return False
# Find start and end dates for current year
current_year = input_date.year
for day in range(25,32):
if datetime.datetime(current_year,3,day).weekday()==6:
BST_start = datetime.datetime(current_year,3,day,1)
if datetime.datetime(current_year,10,day).weekday()==6:
BST_end = datetime.datetime(current_year,10,day,1)
if (input_date > BST_start) and (input_date < BST_end):
return True
return False
エラー
if datetime.datetime(current_year,3,day).weekday()==6:
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
上記スクリプトにdatetime.now()を通過している関数は、このある補遺
:
if is_BST(datetime.now()) == True:
displaytime = (datetime.now() + timedelta(hours=1)).strftime('%H:%M:%S')
today = (datetime.now() + timedelta(hours=1)).strftime('%Y-%m-%d')
starthour = (datetime.now() + timedelta(hours=1)).strftime('%H')
timenow = (datetime.now() + timedelta(hours=1)).strftime('%H')
endhour = (datetime.now() + timedelta(hours=2)).strftime('%H')
else:
displaytime = datetime.now().strftime('%H:%M:%S')
starthour = datetime.now().strftime('%H')
today = datetime.now().strftime('%Y-%m-%d')
timenow = datetime.now().strftime('%H')
endhour = (datetime.now() + timedelta(hours=1)).strftime('%H')
downvoted誰でも、これは改善を示唆するコメントを残していた場合、それはいいだろう –
プラス(私は、関連する質問を見ましたが、私は同じ理由でエラーになった場合、私はわかりませんでした)それが以前に働いていたという事実、そして突然働きを止めました。 –