博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中,time、calendar、datetime
阅读量:6865 次
发布时间:2019-06-26

本文共 3363 字,大约阅读时间需要 11 分钟。

闲来无事,做做整理。

time模块:

import time# 睡眠 参数(秒) 可以为小数time.sleep(0)# 获取当前时间戳,从1970年1月1日0时0分0秒开始计算t = time.time()  # 1543626884.3397386# 获取当前时区的时间元组time.struct_time对象# 东八区# time.struct_time(tm_year=2018, tm_mon=12, tm_mday=1, tm_hour=9, tm_min=17, tm_sec=21, tm_wday=5, tm_yday=335, tm_isdst=0)t = time.localtime()# 获取0时区的时间元组time.struct_time对象# 0时区 格林尼治时间# time.struct_time(tm_year=2018, tm_mon=12, tm_mday=1, tm_hour=1, tm_min=29, tm_sec=6, tm_wday=5, tm_yday=335, tm_isdst=0)t = time.gmtime()# 根据时间元组time.struct_time对象创建时间戳t = time.mktime((2018, 12, 1, 9, 17, 21, 5, 335, 0))  # 1543627041.0# 0时区与当前时区相差的秒数t = time.timezone# 根据时间元组对象time.struct_time格式化输出时间t = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())  # 2018-12-01 09:44:48# 将时间戳转化为标准输出字符串t = time.ctime(time.time())  # Sat Dec  1 09:46:04 2018# time clock() 函数以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。# 这个需要注意,在不同的系统上含义不同。在UNIX系统上,它返回的是"进程时间",它是用秒表示的浮点数(时间戳。# 而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间# 第一次:4.1053936661986517e-07# 第二次:8.210787332397303e-07t = time.clock()

calendar模块:

import calendar

# 获取某一年的日历# w:以几个字母表示周几# l:每行间隔# c:每月之间左右间隔# m:每行显示几个月# w, l, c, m都有默认值c = calendar.calendar(2018, w=3, l=1, c=6, m=10)# 获取某一年某一月的日历c = calendar.month(2018, 12)# 判断某一年是否是闰年c = calendar.isleap(2018)# 计算两年之间有多少闰年,左闭右开c = calendar.leapdays(2000, 2008)  # 2

datetime.date模块:

from datetime import dateimport time# 创建date对象# 根据年月日创建# 参数都有指定范围d = date(2018, 12, 1)  # 2018-12-01# 创建今天日期对象d = date.today()  # 2018-12-01# 根据时间戳创建d = date.fromtimestamp(time.time())  # 2018-12-01# 提取年月日print(d.year, d.month, d.day)  # 2018 12 1# 标准格式日期d1 = date.isoformat(d)  # 2018-12-01# 日期元组:年份,一年第几周,星期几1-7d1 = date.isocalendar(d)  # (2018, 48, 6)# 提取标准星期1-7w = d.isoweekday()  # 6# 星期0-6w = d.weekday()  # 5# 格式化日期d2 = d.strftime('%Y/%m/%d')  # 2018/12/01# 将日期转化为时间元组# time.struct_time(tm_year=2018, tm_mon=12, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=335, tm_isdst=-1)tt = d.timetuple()

datetime.time:

from datetime import time

# 创建时间对象t = time(10, 42, 59)  # 10:42:59# 提取时分秒print(t.hour, t.minute, t.second)  # 10 42 59# 格式化t = t.strftime('%H  %M  %S')  # 10  42  59

datetime.datetime:

from datetime import datetimeimport time# 创建对象dt = datetime(2018, 12, 1, 11, 10, 59)  # 2018-12-01 11:10:59# 根据时间戳创建对象dt = datetime.fromtimestamp(time.time())# 获取当前时间,带时区dt = datetime.now()  # 2018-12-01 10:52:38.860742# 获取当前时间,不带时区dt = datetime.utcnow()  # 2018-12-01 02:53:37.564099# 提取年月日时分秒print(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second)  # 2018 12 1 2 56 59# 格式化输出dt1 = dt.strftime('%Y-%m-%d %H:%M:%S')  # 2018-12-01 02:58:34# 转化为时间戳t = dt.timestamp()  # 1543604449.06578# 转化为时间元组# time.struct_time(tm_year=2018, tm_mon=12, tm_mday=1, tm_hour=3, tm_min=1, tm_sec=31, tm_wday=5, tm_yday=335, tm_isdst=-1)t = dt.timetuple()

datetime.timedelta:

from datetime import datetime, timedelta# 创建对象# 可以指定很多参数,一般指定seconds或者daystd1 = timedelta(days=1)  # 1 day, 0:00:00td2 = timedelta(seconds=3600)  # 1:00:00dt1 = datetime(2018, 11, 11, 11, 11, 11)dt2 = datetime(2018, 11, 15, 11, 11, 11)# 计算时间差td3 = dt2 - dt1  # 4 days, 0:00:00td4 = dt1 - dt2  # -4 days, 0:00:00# 获取新时间dt3 = dt1 + td1  # 2018-11-12 11:11:11dt4 = dt1 - td2  # 2018-11-11 10:11:11# 提取天数,秒数  天数秒数分开print(td1.days, td1.seconds)  # 1 0# 提取总共秒数s = td1.total_seconds()  # 86400.0

转载于:https://blog.51cto.com/14094286/2324635

你可能感兴趣的文章
grep小练习
查看>>
英语文章、常用短语部分摘选集锦
查看>>
ADMT3.2域迁移之Server2003至Server2012系列(七)安装ADMT3.2
查看>>
DISPLAY环境变量的作用
查看>>
006.递归和分治思想
查看>>
org.springframework.data.mapping.PropertyReferenceException: No property xxxx found for type Xxxx
查看>>
Gson解析json数据 亲自测试可用
查看>>
我与监控宝之间的点点滴滴
查看>>
delphi 数据库显示的TDBGrid配置
查看>>
对51CTO的看法
查看>>
userenv和sys_context函数
查看>>
是否会回到起点.回忆只能是回忆
查看>>
原创数据结构算法Flash动画演示课件-Action Script(AS)脚本实现
查看>>
基于Mysql主从同步的读写分离
查看>>
BA 的岗位要求3
查看>>
基于Hyper-V3.0搭建XenDesktop7之九 部署虚拟应用之模板准备
查看>>
JS如何捆绑TypeScript声明文件
查看>>
samba服务配置
查看>>
我的友情链接
查看>>
MyBatis之ResultMap标签
查看>>