显示时间格式为 (MM/DD/YYYY - HH:MM AM/PM) - Django/Python
Display time format as (MM/DD/YYYY - HH:MM AM/PM) - Django/Python
在 "send_mail" 函数下,我想更改 "start" 变量以将 date/time 显示为 MM/DD/YYYY - HH:MM AM/PM 在电子邮件中。有人知道怎么做吗?
提前致谢!
date = coerce_date_dict(request.GET)
initial_data = None
if date:
try:
start = datetime.datetime(**date)
initial_data = {
"start": start,
"end": start + datetime.timedelta(minutes=60)
}
except TypeError:
raise Http404
except ValueError:
raise Http404
instance = None
if event_id is not None:
instance = get_object_or_404(Event, id=event_id)
calendar = get_object_or_404(Calendar, slug=calendar_slug)
form = form_class(data=request.POST or None, instance=instance, initial=initial_data)
if form.is_valid():
event = form.save(commit=False)
if instance is None:
event.creator = request.user
event.calendar = calendar
try:
send_mail('New Lesson', '%s has scheduled a new lesson for %s' %(request.user.full_name, start), 'example@gmail.com', ['example@gmail.com'])
except:
pass
event.save()
next = next or reverse('event', args=[event.id])
next = get_next_url(request, next)
return HttpResponseRedirect(next)
start
是一个datetime.datetime
object, so we can call its strftime
生成格式化字符串的方法。
您需要的格式说明符是%m/%d/%Y %I:%M %p
例如,在当前时间(对我来说,在美国东海岸)调用的strftime
方法生成:03/17/2015 05:51 PM
我们可以轻松地将其集成到您的代码中:
start = datetime.datetime(**date)
initial_data = {
"start": start.strftime("%m/%d/%Y %I:%M %p"),
"end": start + datetime.timedelta(minutes=60)
}
注意:您必须确保进行此更改不会破坏任何其他内容 "down the road" -- 因为 initial_data['start']
是 a datetime.datetime
对象,现在是一个字符串。
在 "send_mail" 函数下,我想更改 "start" 变量以将 date/time 显示为 MM/DD/YYYY - HH:MM AM/PM 在电子邮件中。有人知道怎么做吗?
提前致谢!
date = coerce_date_dict(request.GET)
initial_data = None
if date:
try:
start = datetime.datetime(**date)
initial_data = {
"start": start,
"end": start + datetime.timedelta(minutes=60)
}
except TypeError:
raise Http404
except ValueError:
raise Http404
instance = None
if event_id is not None:
instance = get_object_or_404(Event, id=event_id)
calendar = get_object_or_404(Calendar, slug=calendar_slug)
form = form_class(data=request.POST or None, instance=instance, initial=initial_data)
if form.is_valid():
event = form.save(commit=False)
if instance is None:
event.creator = request.user
event.calendar = calendar
try:
send_mail('New Lesson', '%s has scheduled a new lesson for %s' %(request.user.full_name, start), 'example@gmail.com', ['example@gmail.com'])
except:
pass
event.save()
next = next or reverse('event', args=[event.id])
next = get_next_url(request, next)
return HttpResponseRedirect(next)
start
是一个datetime.datetime
object, so we can call its strftime
生成格式化字符串的方法。
您需要的格式说明符是%m/%d/%Y %I:%M %p
例如,在当前时间(对我来说,在美国东海岸)调用的strftime
方法生成:03/17/2015 05:51 PM
我们可以轻松地将其集成到您的代码中:
start = datetime.datetime(**date)
initial_data = {
"start": start.strftime("%m/%d/%Y %I:%M %p"),
"end": start + datetime.timedelta(minutes=60)
}
注意:您必须确保进行此更改不会破坏任何其他内容 "down the road" -- 因为 initial_data['start']
是 a datetime.datetime
对象,现在是一个字符串。