Python中Django框架的时间处理问题请教
在 models.py 定义
jiezhi_date = models.DateTimeField(blank = True, null = True, db_index = True, verbose_name = _(u’信息截止时间’))
模板里这样:
<div style=“color: #A8B1BA;” class=“text”>截止时间: {{form.jiezhi_date}}</div>
在前台.html 显示:
怎么样让它变成后台那样:
后面有选择时间与日期的按钮?
多谢?
Python中Django框架的时间处理问题请教
6 回复
图片怎么不显示.
在Django里处理时间,核心就两点:用timezone模块和正确配置USE_TZ。
关键配置:
在settings.py里,确保:
USE_TZ = True # 启用时区支持
TIME_ZONE = 'Asia/Shanghai' # 设置默认时区
核心操作:
-
获取当前时间: 永远用
django.utils.timezone.now(),别用Python自带的datetime.now()。from django.utils import timezone current_time = timezone.now() # 带时区信息的当前时间 -
创建带时区的时间: 用
timezone.make_aware()给原生datetime对象绑定时区。import datetime from django.utils import timezone naive_dt = datetime.datetime(2023, 10, 27, 14, 30) aware_dt = timezone.make_aware(naive_dt, timezone.get_current_timezone()) -
模板显示: 用
{{ value|date:"Y-m-d H:i" }}过滤器,Django会自动转换到当前时区。 -
数据库存储: 模型里用
DateTimeField就行,存进去的UTC时间,Django会帮你自动转换。
常见坑:
- 比较时间时,确保两个datetime对象都是“aware”(带时区)的,否则会报错。
- 从外部系统接收时间字符串时,先用
pytz或dateutil解析清楚时区,再用make_aware转成Django时区对象。
一句话总结: 开USE_TZ,所有时间操作都走django.utils.timezone就对了。
js 日期时间选择控件
- 请学会使用 Markdown,至少养成发帖前「预览」的习惯
2. 这是前端问题,可以以关键字「 js 日期选择」等进行查找(加个提示,选好后在响应式下测试。。。)

