python中的datetime即将到来,而不是date
这是我的创建方法python中的datetime即将到来,而不是date,python,Python,这是我的创建方法 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()
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
在上面的代码formate\u date\u中,仅使用元素方法
_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
我的创建处理程序是
def post(自我):
自上传=无
form=forms.CreatePromotion(self.request.POST)
count=升级。all().count()
如果计数=0:
计数=1
form.display_order.choices=[(项目+1,项目+1)用于范围内的项目(计数)]
image=self.get_上传('image')
视频=self.get_上传(“视频”)
如果form.validate():
data=form.data
日志信息(数据)
upload\u url=blobstore.create\u upload\u url('/admin/promotion/create')
尝试:
datetime.strTime(数据['start\u date'],“%Y-%m-%d”)
datetime.strTime(数据['end_date'],“%Y-%m-%d”)
除值错误外:
self.session.add_flash(“不正确的日期格式,应为YYYY-MM-DD”,key='error')
返回self.render\u响应(“/admin/promotion/create.html”,form=form,upload\u url=upload\u url)
它的输出类似于(2015-10-29 00:00:00),但我只想输出日期而不是日期时间,提前感谢您可以在datetime对象上使用.date()
来获取日期-
pdate = datetime.strptime(data[date_field], cls._date_only_format).date()
您可以在datetime对象上使用.date()
来获取日期-
pdate = datetime.strptime(data[date_field], cls._date_only_format).date()
您如何检查输出?是否将日期时间转换为字符串?例如,如果是字符串,则:data[date\u field]的值是多少。“2015-10-22”则代码将为您提供正确的输出。如果要将datetime对象转换为字符串,则应使用datetime.strftime(datetime_对象,“%Y-%m-%d”),这将为您提供所需的结果。是的,请确认其给出的是“2015-10-22”,但在创建方法时,如…flag=Promotion。在此处创建(数据),它将显示“2015-10-22 00-00-00”@乌代:你能把你的促销模型贴出来吗。我想您已经提到了date字段作为datetime字段,这就是为什么它会给出datetime字符串。是的,prateek,我在模型中提到了datetime字段,但我使用的是Stripe,您如何检查输出?是否将日期时间转换为字符串?例如,如果是字符串,则:data[date\u field]的值是多少。“2015-10-22”则代码将为您提供正确的输出。如果要将datetime对象转换为字符串,则应使用datetime.strftime(datetime_对象,“%Y-%m-%d”),这将为您提供所需的结果。是的,请确认其给出的是“2015-10-22”,但在创建方法时,如…flag=Promotion。在此处创建(数据),它将显示“2015-10-22 00-00-00”@乌代:你能把你的促销模型贴出来吗。我想你提到过日期字段是datetime字段,这就是为什么它给出datetime字符串。是的,prateek,我在模型中提到了datetime字段,但我再次使用了Stripe,它给出的是datetime而不是date,它给出的是datetime而不是date