Как получить название дня в datetime в python? - PullRequest
44 голосов
/ 05 декабря 2011

Как я могу получить название дня (например, понедельник, вторник, среда, четверг, пятница, суббота и воскресенье) в datetime в python? ...

Вот мой код в моих 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

Ответы [ 2 ]

114 голосов
/ 05 декабря 2011
import datetime
now = datetime.datetime.now()
print(now.strftime("%A"))

См. Документы Python для datetime.now , datetime.strftime и подробнее о strftime .

20 голосов
/ 05 декабря 2011
>>> from datetime import datetime as date
>>> date.today().strftime("%A")
'Monday'
...