Python нормализация даты полученной из MySQL
Формат даты MySQL и Python несколько отличаются, поэтому не получится результат запроса — дату, использовать сразу. Нужно предварительно её отформатировать при помощи функции strptime(дата, формат). Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
sql="select count(*) as cnt,(now()-interval %s day) as ddy from payments where mod_person=%s and year(pay_date)=year(now()-interval %s day) and month(pay_date)=month(now()-interval %s day) and day(pay_date)=day(now()-interval %s day)"; cursor2=connb.cursor(dictionary=True,buffered=True) cursor2.execute(sql,[days,person_id,days,days,days]); myrow3 = cursor2.fetchone() while myrow3 is not None: cnt=myrow3["cnt"]; ddy=myrow3["ddy"]; ddt=datetime.datetime.strptime(str(ddy),"%Y-%m-%d %H:%M:%S") wd=datetime.datetime.weekday(ddt); if wd==0:dn="Понедельник"; if wd==1:dn="Вторник"; if wd==2:dn="Среда"; if wd==3:dn="Четверг"; if wd==4:dn="Пятница"; if wd==5:dn="Суббота"; if wd==6:dn="Воскресенье"; #Если платежей нет в выходные, тогда АХТУНГ!! if ((cnt==0) and (wd!=5) and (wd!=6)): func.putlog (str(email.encode('utf-8'))+" Внимание! В биллинге нет платежей за "+str(ddy)+" ("+str(wd)+") от "+str(name.encode('utf-8'))+"!!") func.AddMailQwery(noc,'цувцу@цувцув.ru',email,"Внимание! В биллинге нет платежей за "+str(ddy)+" ("+str(wd)+") от "+str(name.encode('utf-8'))+"!!","Внимание! В биллинге нет платежей за "+str(ddy)+" ("+str(wd)+") от "+str(name.encode('utf-8'))+"!!"); #SendMailAttachment($email,$cfg->smtpusername,"Внимание! В биллинге нет платежей за $ddy ($dn) от $name!!!","Внимание! В биллинге нет платежей за $ddy ($dn) от $name!!!"); myrow3 = cursor2.fetchone() |