python time 实践

接上篇对time模块的基本介绍,在论坛上看到有人对相关问题的求助,诸如 python 如何将时间“Fri Aug 13 14:05:20 2010”转换成20100813140520格式

自己利用localtime上手实践了一下

复制代码
>>>import time

>>> time.localtime()
time.struct_time(tm_year=2011, tm_mon=3, tm_mday=8, tm_hour=17, tm_min=36, tm_sec=51, tm_wday=1, tm_yday=67, tm_isdst=0)

>>> a=time.strftime("%a %b %d %H:%M:%S %Y",time.localtime())
>>> a
'Tue Mar 08 17:39:48 2011'
>>> b=time.strptime(a,"%a %b %d %H:%M:%S %Y")
>>> b
time.struct_time(tm_year
=2011, tm_mon=3, tm_mday=8, tm_hour=17, tm_min=39, tm_sec=48, tm_wday=1, tm_yday=67, tm_isdst=-1)

>>> b=time.strftime("%Y%m%d%H%M%S",b)
>>> b
'20110308173948'
复制代码

下面是我在学习Django时遇到的处理文章url请求的一个例子:

复制代码
def entry_detail(request, year, month, day, slug):
import datetime, time
# 请求如:./2010/3/8/python-time-pratice
date_stamp = time.strptime(year+month+day, "%Y%b%d")
# 利用time.strptime 从url中提取为struct_time
pub_date = datetime.date(*date_stamp[:3])
# 取struct_time 中的前三项,即年月日
# 以下和本例关系不大,可略过
entry = get_object_or_404(Entry, pub_date__year=pub_date.year,
pub_date__month
=pub_date.month,
pub_date__day
=pub_date.day,
slug
=slug)
return render_to_response('weBlog/entry_detail.html',
{
'entry':entry})
复制代码
中文的时间日期格式化符号说明如下(英文可见文档或我上篇博客):

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12) 
%M 分钟数(00=59)
%S 秒(00-59)

%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身 

posted @ 2011-03-08 17:55  TinyZ  阅读(1188)  评论(0)    收藏  举报
编辑推荐:
· 复杂业务系统线上问题排查过程
· 通过抓包,深入揭秘MCP协议底层通信
· 记一次.NET MAUI项目中绑定Android库实现硬件控制的开发经历
· 糊涂啊!这个需求居然没想到用时间轮来解决
· 浅谈为什么我讨厌分布式事务
阅读排行:
· 为大模型 MCP Code Interpreter 而生:C# Runner 开源发布
· 面试时该如何做好自我介绍呢?附带介绍样板示例!!!
· 复杂业务系统线上问题排查过程
· 本可避免的P1事故:Nginx变更导致网关请求均响应400
· 独立开发:高效集成大模型,看这篇就够了
点击右上角即可分享
微信分享提示