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时间模块小结的更多相关文章

  1. python 时间模块小结

    python有两个重要的时间模块,分别是time和datetime time模块 表示时间的几种方法 时间元组 time.struct_time( tm_year=2016, tm_mon=7, tm ...

  2. Python常用模块小结

    目录 Python常用模块小结 一.Python常用模块小结 1.1 time模块 1.2 datetime模块 1.3 random模块 1.4 os模块 1.5 sys模块 1.6 json模块 ...

  3. 浅谈Python时间模块

    浅谈Python时间模块 今天简单总结了一下Python处理时间和日期方面的模块,主要就是datetime.time.calendar三个模块的使用.希望这篇文章对于学习Python的朋友们有所帮助 ...

  4. Python的时间模块小结(转自:不懂真人)

    import datetimeprint time.time() #时间戳 print time.localtime(time.time()) #时间元组 print time.strftime('% ...

  5. python 时间模块 -- time

    time 时间模块 和时间有关系的我们就要用到时间模块.在使用模块之前,应该先导入模块. # 常用方法 import time print("现在执行我") time.sleep( ...

  6. python时间模块-time和datetime

    时间模块 python 中时间表示方法有:时间戳,即从1975年1月1日00:00:00到现在的秒数:格式化后的时间字符串:时间struct_time 元组. struct_time元组中元素主要包括 ...

  7. python时间模块time

    时间模块 时间模块主要处理和时间相关的事件,我们可以通过模块获取不同数据类型的时间以便我们需求. 表现时间的三种方式: 在pythn中表现时间的方式主要有三种:时间戳(stamptime).元祖时间( ...

  8. Python时间模块。

    python中时间的表示方式 unix时间戳,字符串时间,格式化时间 时间模块有,time,datetime,calendar #time模块 import time #获取本地时间戳,返回浮点数 p ...

  9. Python时间模块datetime用法

    时间模块datetime是python内置模块,datetime是Python处理日期和时间的标准库. 1,导入时间模块 from datetime import datetime 2,实例 from ...

随机推荐

  1. 破解idea地址

    https://blog.csdn.net/animatecat/article/details/81483174

  2. Python-包-65

    包 包是一种通过使用‘.模块名’来组织python模块名称空间的方式. 1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警 ...

  3. Python发送邮件脚本

    import smtplib from email.mime.text import MIMEText mailserver = "smtp.163.com" username_s ...

  4. PHP二维数组去重(指定键名)

    本例对二维数组中某个指定键名进行去重,发现网上大多使用array_unique或是foreach遍历等方式去重,效果不佳且较为繁琐. 本文以二维数组去重为引,介绍array_column函数的三种用法 ...

  5. 使用sqlserver 链接远程服务器进行查询

    --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogi ...

  6. LODOP获取打印机状态码和状态码含义测试

    由于打印机千差万别,打印机执行的标准也不一样,LODOP获取的打印状态码也可能不同,安装了个打印机驱动实际测试一下,测试的打印机驱动是Brother Color Type3 Class Driver. ...

  7. Salesforce Bulk API 基于.Net平台下的实施

    在最近的salesforce实施项目中应用到Bulk API来做数据接口.顺便把实际应用的例子写下来.希望对做salesforce接口的朋友有借鉴作用. 一 参考网络牛人写好的Demo. 下载地址:h ...

  8. sass基本用法

        什么是SASS SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护. 本文总结了SASS的主要用法.我的目标是,有了这篇文章,日常 ...

  9. [2019.03.16]使用DOM操作函数和CSS选择器来针对已有的HTML进行只凭JS的改动

    刚入职的时候看到公司用的HTML日志生成工具附带的Panel,工具不够用,找个Fail还要找半天,于是自己琢磨着添砖加瓦.以前也是个半吊子前端工程师,现在可倒好,想要改页面却连页面生成的模板在哪里都不 ...

  10. Nginx与前端开发

    Nginx与Node.js "Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡." 作为前 ...