下面为你详细讲解 Django 中 datetime 的处理方法。
时间格式化
在 Django 中,datetime 格式化使用的是 strftime() 方法。该方法可以将一个 datetime 对象格式化成一个字符串。下面是一个示例代码:
from datetime import datetime
now = datetime.now()
time_str = now.strftime("%Y-%m-%d %H:%M:%S")
print("时间格式化后的结果为:", time_str)
输出:
时间格式化后的结果为: 2022-07-05 10:39:35
在上面的代码中,首先我们导入了 datetime 模块并获取到了当前时间。然后我们使用 strftime() 方法将当前时间转换成了一个字符串,其中 %Y 表示年份(四位数),%m 表示月份(两位数),%d 表示天数(两位数),%H 表示小时(24小时制),%M 表示分钟(两位数),%S 表示秒(两位数)。
字符串转时间
在 Django 中,字符串转换成 datetime 对象使用的是 strptime() 方法。下面是一个示例代码:
from datetime import datetime
time_str = '2022-07-05 10:39:35'
time_obj = datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S')
print("字符串转时间后的结果为:", time_obj)
输出:
字符串转时间后的结果为: 2022-07-05 10:39:35
在上面的代码中,我们首先定义了一个时间字符串 time_str,然后使用 strptime() 方法将其转换成了一个 datetime 对象,其中的 %Y、%m、%d、%H、%M、%S 分别表示年、月、日、时、分、秒。
示例1
在实际的开发中,有时我们可能需要将数据库中的一个 datetime 字段格式化成字符串并传递给前端展示。该情况下,我们可以使用 strftime() 方法。下面是一个示例代码:
from datetime import datetime
from app.models import Order
order = Order.objects.first()
order_time = order.time.strftime("%Y-%m-%d %H:%M:%S")
print("订单时间格式化后的结果为:", order_time)
在上面的代码中,我们首先从订单表中获取到了第一条记录,并将其时间字段使用 strftime() 方法格式化成了一个字符串。
示例2
在实际的开发过程中,有时候我们需要输入一个时间字符串并检查其格式是否正确。此时,我们可以使用 strptime() 方法,如果能够成功转换,则说明时间格式正确。下面是一个示例代码:
from datetime import datetime
time_str = '2022-07-05 10:39:35'
try:
datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S')
print("时间格式正确")
except ValueError as e:
print("时间格式错误:", e)
在上面的代码中,我们首先定义了一个时间字符串 time_str,然后使用 strptime() 方法尝试将其转换成一个 datetime 对象。如果转换成功,则说明时间格式正确;如果转换失败,则说明时间格式错误。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django中datetime的处理方法(strftime/strptime) - Python技术站