uday
uday

Reputation: 69

datetime is coming instead of date in python

This is my create method

def create(cls, data):
        try:
            cls.format_date_only_element(data,'start_date')
            cls.format_date_only_element(data,'end_date')            
            promotion = cls(**data)      
            promotion.save()
            return True
        except:
            return False

in above code formate_date_only_element method is

 _date_only_format = '%Y-%m-%d'
 def format_date_only_element(cls,data,date_field):        
        for r in data:        
            if date_field in r:                                
                pdate =  datetime.strptime(data[date_field], cls._date_only_format)
                data[date_field]=pdate
                break

and my create handler is def post(self): self__uploads = None form = forms.CreatePromotion(self.request.POST) count = Promotion.all().count() if count==0: count=1 form.display_order.choices = [(item+1, item+1) for item in range(count)] image = self.get_uploads('image')
video = self.get_uploads('video')
if form.validate(): data = form.data log.info(data) upload_url = blobstore.create_upload_url('/admin/promotion/create') try: datetime.strptime(data['start_date'], '%Y-%m-%d') datetime.strptime(data['end_date'], '%Y-%m-%d') except ValueError: self.session.add_flash("Incorrect date format, should be YYYY-MM-DD",key='error') return self.render_response("/admin/promotion/create.html", form=form, upload_url=upload_url)

        supp_code=data['supplier_code']
        supplier_obj=SupplierMaster.get_by_code(supp_code)

        supp_code1=data['supplier_code']
        supplier_obj1=Supplier.get_by_code(supp_code1)

        if not supplier_obj and supplier_obj1 is None:
            self.session.add_flash('Supplier code does not exist',key='error')
            return self.render_response("/admin/promotion/create.html", form=form, upload_url=upload_url)

        else:
            is_video = bool(video)
            is_image = bool(image)
            if not is_image and not is_video:                
                self.session.add_flash("Please select a video or image",key='error')                
                return self.render_response("/admin/promotion/create.html", form=form, upload_url=upload_url)
            else:
                del data['video']
                del data['image']                
                if is_video:
                    if video[0].content_type.startswith('video'):
                        log.info("is video")
                        data['video'] = video[0]
                    else:
                        log.info("is_video")
                        self.session.add_flash("Please select a video or image",key='error')
                        return self.redirect("/admin/promotion/create") 
                if is_image:
                    if image[0].content_type.startswith('image'):
                        log.info("is image")
                        data['image'] = image[0]
                    else:
                        log.info("is_image")
                        self.session.add_flash("Please select a video or image",key='error')
                        return self.redirect("/admin/promotion/create")

                flag = Promotion.create(data)
                if flag is True:
                    self.session.add_flash('Promotion created successfully!',key='success')
                else:
                    self.session.add_flash("Error occured in creating Promotion",key='error')
            return self.redirect("/admin/promotions")
    else:
        upload_url = blobstore.create_upload_url('/admin/promotion/create')
        return self.render_response("/admin/promotion/create.html", form=form, upload_url=upload_url)

its giving output like(2015-10-29 00:00:00) but i want my out put only date not date time , thanks in advance

Upvotes: 1

Views: 389

Answers (1)

Sharon Dwilif K
Sharon Dwilif K

Reputation: 1228

You can use .date() on the datetime object to get the date -

pdate =  datetime.strptime(data[date_field], cls._date_only_format).date()

Upvotes: 0

Related Questions