2011-12-05 12 views
32

cómo puedo obtener el nombre del día (por ejemplo: lunes, martes, miércoles, jueves, viernes, sábado y domingo)? En la fecha y hora en Python ...cómo obtener el nombre de los días en la fecha y hora en Python

aquí es mi código en mi 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 

en mi código: esta línea fija la fecha:

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

¿De qué sirve publicar todo ese código? ¿Por qué no solo la línea relevante? –

Respuesta

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

Requiere 'from datetime import datetime como date' en Python 2.7, al menos. Sin él, obtengo 'NameError: nombre 'date' no está definido'. –

Cuestiones relacionadas