Python关于strftime函数详细解析 附实战代码

前言

项目中的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月份
%H24小时制
%I12小时制
%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
  • 9
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农研究僧

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值