2011-12-05 10 views
32

I (örneğin: Pazartesi, Salı, Çarşamba, Perşembe, Cuma, Cumartesi ve Pazar) gün adını almak nasıl? Datetime içinde python ...Python datetime gün adını almak için nasıl

İşte benim kodunda

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 

benim handlers.py benim kodudur:

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

Tüm bu kodu gönderme noktası nedir? Neden sadece ilgili satır değil? –

cevap

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

için Python docs bakınız: Bu hat tarihi belirler, datetime.strftime ve more on strftime.

+0

@JasonSundram: Teşekkürler. –

+2

Kısaltılmış adı – Adversus

+0

Oh için '% a' kullanın, harika! :) Güzel. – GhitaB

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

En azından, Python 2.7'de tarih olarak datetime import tarih saatini 'gerektirir. Bu olmadan, 'NameError: name' date 'tanımlı değil' alıyorum. –

İlgili konular