2011-12-05 12 views
32

làm thế nào tôi có thể nhận được tên ngày (chẳng hạn như: thứ hai, thứ ba, thứ tư, thứ năm, thứ sáu, thứ bảy và chủ nhật) trong datetime trong python? ...làm thế nào để có được tên ngày trong datetime trong python

đây là mã của tôi trong handlers.py tôi

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 

trong mã của tôi: dòng này đặt ngày:

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

Điểm đăng tất cả mã đó là gì? Tại sao không chỉ là dòng có liên quan? –

Trả lời

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

Yêu cầu 'từ datetime nhập datetime như ngày' trong Python 2,7, ít nhất. Không có nó, tôi nhận được 'NameError: name 'date' không được định nghĩa'. –