2011-12-05 15 views
32

私は(のような:月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日)曜日名を取得できますか?日時でのpythonで...pythonで日時に曜日名を取得する方法を

ここに私のコードで

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 

私handlers.pyの私のコードは次のとおりです。

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.strftimeおよびmore on strftime

+0

@JasonSundram:ありがとう。 –

+2

短縮名に '%a'を使用してください – Adversus

+0

ああ、素晴らしいです! :)ニース。 – GhitaB

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

Python 2.7では 'from datetime import datetime as date'が必要です。それがなければ、 'NameError:name 'date'が定義されていません。 –

関連する問題