python时间模块小结
1.datetime 模块
为日期和时间处理同时提供了简单和复杂的方法。支持日期和时间算法的同时,实现的重点放在更有效的处理和格式化输出。该模块还支持时区处理:
简单例子:
from datetime import date
now = date.today()
now
Out[9]: datetime.date(2019, 4, 28)
now.strftime("%m-%d-%y. %d %b %Y is a %A on the %d day of %B.")
Out[10]: '04-28-19. 28 Apr 2019 is a Sunday on the 28 day of April.'
birthday = date(1964, 7, 31)
age = now - birthday
age.days
Out[13]: 19994
2. Python 的 time 模块
下有很多函数可以转换常见日期格式。如函数time.time()用于获取当前时间戳, 如下实例:
print time.time() #1556456582.96
dates = time.localtime()
print "Date: ", dates#time.struct_time(tm_year=2019, tm_mon=4, tm_mday=28, tm_hour=21, tm_min=3, tm_sec=2, tm_wday=6, tm_yday=118, tm_isdst=0)
print str(dates.tm_year)+"年",str(dates.tm_mon)+"月",str(dates.tm_mday)+"日",str(dates.tm_hour)+"时",str(dates.tm_min)+"分",str(dates.tm_sec)+"秒"
#2019年 4月 28日 21时 3分 2秒
print "一年中的第"+str(dates.tm_yday)+"天","星期"+str(dates.tm_wday+1)#一年中的第118天 星期7
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(1556454836))#2019-04-28 20:33:56
python中常用时间日期格式化符号:
%a 本地(local)简化星期名称
%A 本地完整星期名称
%b 本地简化月份名称
%B 本地完整月份名称
%c 本地相应的日期和时间表示
%d 一个月中的第几天(01-31)
%H 一天中的第几个小时(24小时制,00-23)
%l 一天中的第几个小时(12小时制,01-12)
%j 一年中的第几天(01-366)
%m 月份(01-12)
%M 分钟数(00-59)
%p 本地am或者pm的相应符
%S 秒(01-61) %U 一年中的星期数(00-53,星期天是一个星期的开始,第一个星期天之前的所有天数都放在第0周)
%w 一个星期中的第几天(0-6,0是星期天)
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00-99)
%Y 完整的年份
%z 用+HHMM或者-HHMM表示距离格林威治的时区偏移(H代表十进制的小时数,M代表十进制的分钟数)
%Z 时区的名字(如果不存在为空字符)
%% %号本身 %p只有与%I配合使用才有效果
当使用strptime()函数时,只有当在这年中的周数和天数被确定的时候%U和%W才会被计算
3.时间戳转换
def timeStampToDate(timeStamp):
"""
将时间戳转换为日期格式
:param timeStamp: Long:1556454836
:return:日期:"%Y-%m-%d %H:%M:%S"
"""
local_time = time.localtime(timeStamp)
return time.strftime("%Y-%m-%d %H:%M:%S", local_time)
def dateDiff(date1, date2):
"""
计算两个日期之间的天数
:param date1:最近的日期
:param date2:远一点的日期
:return:间隔天数
"""
d = date1 - date2
return d.days def main():
date1 = date.today()
date2 = date(1991, 5, 21)
print dateDiff(date1, date2) #
4.程序运行时间衡量
--1直接法:
def test_time(): test = [] for i in range(10000000): test.append(i)
start = time.time() test_time() end = time.time() print "Program cost:",end - start," seconds"
--包装方法:
def time_fun(func): @wraps(func) def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print func.__name__, "cost:", end - start, "seconds!" return result return wrapper @time_fun def test_timefun(): test = [] for i in range(10000000): test.append(i)
test_timefun()
test_timefun cost: 1.33599996567 seconds!
5.打印日历
import calendar cal = calendar.month(2019, 4) print "以下输出2019年4月份的日历:" print cal
以下输出2019年4月份的日历:
April 2019
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
python时间模块小结的更多相关文章
- python 时间模块小结
python有两个重要的时间模块,分别是time和datetime time模块 表示时间的几种方法 时间元组 time.struct_time( tm_year=2016, tm_mon=7, tm ...
- Python常用模块小结
目录 Python常用模块小结 一.Python常用模块小结 1.1 time模块 1.2 datetime模块 1.3 random模块 1.4 os模块 1.5 sys模块 1.6 json模块 ...
- 浅谈Python时间模块
浅谈Python时间模块 今天简单总结了一下Python处理时间和日期方面的模块,主要就是datetime.time.calendar三个模块的使用.希望这篇文章对于学习Python的朋友们有所帮助 ...
- Python的时间模块小结(转自:不懂真人)
import datetimeprint time.time() #时间戳 print time.localtime(time.time()) #时间元组 print time.strftime('% ...
- python 时间模块 -- time
time 时间模块 和时间有关系的我们就要用到时间模块.在使用模块之前,应该先导入模块. # 常用方法 import time print("现在执行我") time.sleep( ...
- python时间模块-time和datetime
时间模块 python 中时间表示方法有:时间戳,即从1975年1月1日00:00:00到现在的秒数:格式化后的时间字符串:时间struct_time 元组. struct_time元组中元素主要包括 ...
- python时间模块time
时间模块 时间模块主要处理和时间相关的事件,我们可以通过模块获取不同数据类型的时间以便我们需求. 表现时间的三种方式: 在pythn中表现时间的方式主要有三种:时间戳(stamptime).元祖时间( ...
- Python时间模块。
python中时间的表示方式 unix时间戳,字符串时间,格式化时间 时间模块有,time,datetime,calendar #time模块 import time #获取本地时间戳,返回浮点数 p ...
- Python时间模块datetime用法
时间模块datetime是python内置模块,datetime是Python处理日期和时间的标准库. 1,导入时间模块 from datetime import datetime 2,实例 from ...
随机推荐
- Python--day07(数据类型转换、字符编码)
昨天内容回顾 1. 深浅拷贝: 值拷贝:直接赋值,原列表中任何值发生改变,新列表的值都会发生改变. 浅拷贝:通过copy()方法,原列表中存放值的地址没有发生改变,但内部的值发生改变,新列表也随之改 ...
- springboot 与任务
异步任务.定时任务.邮件任务 一.异步任务 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在 处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用 多线程来 ...
- Linux切换为超级用户的命令
问题描述 使用vi编辑器写好内容后保存并退出时遇到以下问题 解决方案 该问题的原因是用户权限不够,因为普通用户用 vi 不能保存文件,需要使用超级用户才可以. 先转换为超级用户:su 再用vi打开文件 ...
- 微信小程序之模板的使用
初步学习小程序模板,就把过程写一下了. 1.在app.json里面注册temlate/public,生成模板wxml,wxss等系列页面 2.注册模板 <1>无数据传参的模板 <te ...
- Vue接口异常时处理
一般接口只会对后台返回的json状态进行判断处理,当后台异常时,我们可以使用catch来对这些异常进行同样的报错处理. 例如: 上面显示代码例子中test为一个接口,json为后台正常返回的数据对象, ...
- C#进行回文检测,判断字符串是否是回文的代码
下面代码内容是关于C#进行回文检测,判断字符串是否是回文的代码,应该是对各位朋友有些好处. Console.WriteLine("算法1:请输入一个字符串!");string st ...
- tornado之用户验证装饰器
authenticated装饰器 为了使用Tornado的认证功能,我们需要对登录用户标记具体的处理函数.我们可以使用@tornado.web.authenticated装饰器完成它.当我们使用这个装 ...
- [oracle]查询一个表中数据的插入时间
select to_char(scn_to_timestamp(ORA_ROWSCN),'yyyy-mm-dd hh24:mi:ss') insert_time from tablename;
- PHP RSA加解密详解(附代码)
前言:RSA加密一般用在涉及到重要数据时所使用的加密算法,比如用户的账户密码传输,订单的相关数据传输等. 加密方式说明:公钥加密,私钥解密.也可以 私钥加密,公钥解密 一.RSA简介 RSA公钥加密 ...
- GWAS:拒绝假阳性之case和control数量比例严重失衡的解决方案(SAIGE模型的应用)
一.为什么要校正case和control数量比例不平衡情况 试问作为生信届人员,最怕的是什么,当然是统计结果不靠谱.统计结果不靠谱包括两方面:一个是假阴性,一个是假阳性.假阴性可以理解为白天鹅被误当成 ...