前言
项目中的python web中,时间都用到了这个函数
深挖了一下基本的知识点以及实战中的书写
主要参考的知识点有:
Python time strftime() 方法
以及通过翻阅源码知识,对应进行实战结合
strftime() 函数主要是格式化时间,返回当地时间(显示的格式以字符串显示,主要通过format决定)
1. strftime函数
该函数的基本使用
具体通过如下:
from datetime import datetime
if __name__ == "__main__":
dt_now = datetime.now()
date_time = dt_now.strftime("%Y-%m-%d %H:%M:%S,%A,%B")
print date_time
或者
import datetime
if __name__ == "__main__":
dt_now = datetime.datetime.now()
date_time = dt_now.strftime("%Y-%m-%d %H:%M:%S,%A,%B")
print date_time
注意两者之前的区别
结果如下所示:
函数中格式化的符号有:
年月日分时秒的符号如下(比较常用)
符号 | 含义 |
---|---|
%y | 年份两位数 |
%Y | 年份四位数 |
%m | 月份两位数 |
%d | 月份 |
%H | 24小时制 |
%I | 12小时制 |
%M | 分 |
%S | 秒 |
个别比如星期月份等不常用
符号 | 含义 |
---|---|
%a | 星期简化 |
%A | 星期完整 |
%b | 月份简化 |
%B | 月份完整 |
2. 实战
关于python web开发或者java开发可看我这部分的知识:java框架零基础从入门到精通的学习路线(超全)
结合python web实战开发
一般时间放在form表单显示,或者特定的区域格式化时间
通过点击搜索,每一页都显示特定规格的数据,每个数据都带有时间
## 涉及python web的一个功能开发
## 只展示部分细节
page = models.get_projects_by_page(page=page_num, xxx, start_time=start_time, end_time=end_time)
objects, errors = page.object_list, {}
## 通过此处格式化时间
models.transform_projects(objects)
具体格式化时间如下:
def transform_projects(projects):
for project in projects:
project['start_time'] = project['start_time'].strftime("%Y-%m-%d")
project['end_time'] = project['end_time'].strftime("%Y-%m-%d")
也可以将其格式化的时间放在分页函数内部中
## 此为分页函数内部核心代码
paginator = Paginator(UploadLog.objects(**kwargs),
settings.PAGE_SIZE)
page_object = get_page(paginator, page)
transform_logs(page_object.object_list)
def transform_logs(object_list):
for log in object_list:
for field in ["start_time", "end_time"]:
_datetime = getattr(log, field, None)
if not _datetime:
log[field] = ""
continue
log[field] = log[field].strftime('%Y-%m-%d %H:%M:%S')
log['appid'] = log['appid']
logs = []
for item in log["logs"]:
logs.append(item._data)
log["logs"] = logs