2011-12-05 67 views
32

我怎樣才能得到這一天的名稱(如:週一,週二,週三,週四,週五,週六和週日)?在日期時間在蟒蛇...如何在日期時間獲得一天的名字在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 
+7

發佈所有代碼有什麼意義?爲什麼不只是相關的線? –

回答

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

見Python文檔,datetime.strftimemore on strftime

+0

@JasonSundram:謝謝。 –

+2

使用'%a'作爲縮寫名稱 – Adversus

+0

哦,太棒了! :)很好。 – GhitaB

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

至少需要Python 2.7中的'datetime import datetime as date'。沒有它,我得到'NameError:name'日期'未定義'。 –

相關問題