如何在python中获取datetime中的日期名称?

时间:2011-12-05 02:27:10

标签: python django datetime django-piston

如何在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

4 个答案:

答案 0 :(得分:111)

import datetime
now = datetime.datetime.now()
print(now.strftime("%A"))

请参阅datetime.nowdatetime.strftimemore 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())