如何在python的datetime中获取日期名称(例如:周一,周二,周三,周四,周五,周六和周日)?...
以下是我的 handlers.py
中的代码 from django.utils.xmlutils import SimplerXMLGenerator
from piston.handler import BaseHandler
from booking.models import *
from django.db.models import *
from piston.utils import rc, require_mime, require_extended, validate
import datetime
class BookingHandler(BaseHandler):
allowed_method = ('GET', 'POST', 'PUT', 'DELETE')
fields = ('id', 'date_select', 'product_name', 'quantity', 'price','totalcost', 'first_name', 'last_name', 'contact', 'product')
model = Booking
def read(self, request, id, date_select):
if not self.has_model():
return rc.NOT_IMPLEMENTED
try:
prod = Product.objects.get(id=id)
prod_quantity = prod.quantity
merge = []
checkDateExist = Booking.objects.filter(date_select=date_select)
if checkDateExist.exists():
entered_date = Booking.objects.values('date_select').distinct('date_select').filter(date_select=date_select)[0]['date_select']
else:
entered_date = datetime.datetime.strptime(date_select, '%Y-%m-%d')
entered_date = entered_date.date()
delta = datetime.timedelta(days=3)
target_date = entered_date - delta
day = 1
for x in range(0,7):
delta = datetime.timedelta(days=x+day)
new_date = target_date + delta
maximumProdQuantity = prod.quantity
quantityReserve = Booking.objects.filter(date_select=new_date, product=prod).aggregate(Sum('quantity'))['quantity__sum']
if quantityReserve == None:
quantityReserve = 0
quantityAvailable = prod_quantity - quantityReserve
data1 = {'maximum_guest': maximumProdQuantity, 'available': quantityAvailable, 'date': new_date}
merge.append(data1)
return merge
except self.model.DoesNotExist:
return rc.NOT_HERE
在我的代码中:此行设置日期:
for x in range(0,7):
delta = datetime.timedelta(days=x+day)
new_date = target_date + delta
答案 0 :(得分:111)
import datetime
now = datetime.datetime.now()
print(now.strftime("%A"))
请参阅datetime.now,datetime.strftime和more on strftime的Python文档。
答案 1 :(得分:19)
>>> from datetime import datetime as date
>>> date.today().strftime("%A")
'Monday'
答案 2 :(得分:1)
import datetime
numdays = 7
base = datetime.date.today()
date_list = [base + datetime.timedelta(days=x) for x in range(numdays)]
date_list_with_dayname = ["%s, %s" % ((base + datetime.timedelta(days=x)).strftime("%A"), base + datetime.timedelta(days=x)) for x in range(numdays)]
答案 3 :(得分:0)
import datetime
now = datetime.datetime.now()
print(now.dt.day_name())