2011-12-05 11 views
32

jak mogę uzyskać nazwę dnia (takich jak: poniedziałek, wtorek, środa, czwartek, piątek, sobotę i niedzielę)? W datetime w Pythonie ...jak dostać imieniny w datetime w Pythonie

tutaj jest mój kod w moim 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 

w moim kodu: ta linia ustawia datę:

for x in range(0,7): 
        delta = datetime.timedelta(days=x+day) 
        new_date = target_date + delta 
+7

Jaki jest sens opublikowania całego kodu? Dlaczego nie tylko odpowiednia linia? –

Odpowiedz

14
>>> date.today().strftime("%A") 
'Monday' 
+2

Wymaga 'from datetime import datetime jako date' w Pythonie 2.7, przynajmniej. Bez niego otrzymuję: 'NameError: name 'date' is not defined'. –