Python时间模块datetime、time、calendar的使用方法


Posted in Python onJanuary 13, 2016

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

首先就是模块的调用,很多IDE都已经安装好了很多Python经常使用到的模块,所以我们暂时不需要安装模块了。

import datetime
import time
import calendar

1.获取到此时的准确时间

# 获取此时的时间
print time.localtime()
//输出格式为:
time.struct_time(tm_year=2015, tm_mon=12, tm_mday=29, tm_hour=1, tm_min=10, tm_sec=25, tm_wday=1, tm_yday=363, tm_isdst=0)

2.获取当天的日期

# 获取当天的日期
 print datetime.datetime.now()
 print datetime.date.today()

3.获取昨天的日期

# 获取昨天的日期
def getYesterday():
 today = datetime.date.today()
 oneday = datetime.timedelta(days=1)
 yesterday = today - oneday
 print type(today)  # 查看获取到时间的类型
 print type(yesterday)
 return yesterday
yesterday = getYesterday()
print "昨天的时间:", yesterday

4.获取n天以前的日期
这个应该就不用给出代码了吧,稍微想想就可以得出结果了。

5.字符串转换为时间和日期

# 字符串转换为时间
def strTodatetime(datestr, format):
 return datetime.datetime.strptime(datestr, format)
print time.strftime("%Y-%m-%d", time.localtime())
print strTodatetime("2014-3-1","%Y-%m-%d")
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print strTodatetime("2005-2-16","%Y-%m-%d")-strTodatetime("2004-12-31","%Y-%m-%d")

输出结果:
2015-12-29
2014-03-01 00:00:00
2015-12-29 01:10:25
47 days, 0:00:00
6.获取日历相关信息

# 获取某个月的日历,返回字符串类型
cal = calendar.month(2015, 12)
print cal
calendar.setfirstweekday(calendar.SUNDAY) # 设置日历的第一天
cal = calendar.month(2015, 12)
print cal

# 获取一年的日历
cal = calendar.calendar(2015)
print cal
cal = calendar.HTMLCalendar(calendar.MONDAY)
print cal.formatmonth(2015, 12)

7.calendar模块还可以处理闰年的问题

# 判断是否闰年、两个年份之间闰年的个数
print calendar.isleap(2012)
print calendar.leapdays(2010, 2015)

针对Python时间模块datetime\time进行详细探讨。

转义符对应意义如下

  • %a 本地简化星期名称
  • %A 本地完整星期名称
  • %b 本地简化的月份名称
  • %B 本地完整的月份名称
  • %c 本地相应的日期表示和时间表示
  • %d 月内中的一天(0-31)
  • %H 24小时制小时数(0-23)
  • %I 12小时制小时数(01-12)
  • %j 年内的一天(001-366)
  • %m 月份(01-12)
  • %M 分钟数(00=59)
  • %p 本地A.M.或P.M.的等价符
  • %S 秒(00-59)
  • %U 一年中的星期数(00-53)星期天为星期的开始
  • %w 星期(0-6),星期天为星期的开始
  • %W 一年中的星期数(00-53)星期一为星期的开始
  • %x 本地相应的日期表示
  • %X 本地相应的时间表示
  • %y 两位数的年份表示(00-99)
  • %Y 四位数的年份表示(000-9999)
  • %Z 当前时区的名称
  • %% %号本身

代码:

import time 
import datetime 
 
 
#两日期相减 
 
d1 = datetime.datetime(2005, 2, 16) 
d2 = datetime.datetime(2004, 12, 31) 
print (d1 - d2).days


  
#运行时间: 
  

starttime = datetime.datetime.now() 
endtime = datetime.datetime.now() 
print (endtime - starttime).seconds
 
#计算当前时间向后10天的时间。 
# 如果是小时 days 换成 hours 
 
 
d1 = datetime.datetime.now() 
d3 = d1 datetime.timedelta(days =10) 
 
print str(d3) 
print d3.ctime()

time.ctime([sec])#把秒数转换成日期格式,如果不带参数,则显示当前的时间。
 
>>> import time
>>> time.ctime()
>>> "Wed Jun 14 15:02:50 2006"
>>> time.ctime(1138068452427683)
"Sat Dec 14 04:51:44 1901" 
>>> import time
>>> time.strftime("%Y-%m-%d %X",time.localtime())
"2011-03-15 20:42:12"
>>> time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
"2011-03-15 20:03:47"
DateTime模块
----------------------------
datetime 将日期转化为秒
>>> import datetime,time
>>> time.mktime(datetime.datetime(2009,1,1).timetuple())
1230739200.0
>>> cc=[2000,11,3,12,43,33] #Attributes: year, month, day, hour, minute, second
>>> time.mktime(datetime.datetime(cc[0],cc[1],cc[2],cc[3],cc[4],cc[5]).timetuple())
973226613.0
time.time()取得当前时间;
time.localtime()取得本地时间;
time.strftime()格式化日期;
time.strptime(timeString)把字符串转化为日期;

判断输入的日期是星期几
>>> datetime.datetime(2011,02,15).weekday()
1
>>> datetime.datetime(2011,02,15).weekday()
1
>>> datetime.datetime(2011,02,16).weekday()
2
>>> datetime.datetime(2011,02,17).weekday()
3
>>>
datetime模块获取当前时间
>>> datetime.datetime.utcnow()
datetime.datetime(2011, 3, 15, 13, 19, 32, 264194)
>>> datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") 格式化
'2011-03-15 13:19:27'
>>>

以上就是关于Python时间模块的详细学习,希望对大家学习Python程序设计有所帮助。

Python 相关文章推荐
python实现在控制台输入密码不显示的方法
Jul 02 Python
Python Requests安装与简单运用
Apr 07 Python
再谈Python中的字符串与字符编码(推荐)
Dec 14 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
python实现LRU热点缓存及原理
Oct 29 Python
Python图像处理库PIL中图像格式转换的实现
Feb 26 Python
python可迭代对象去重实例
May 15 Python
PHP基于phpqrcode类库生成二维码过程解析
May 28 Python
详解Python 循环嵌套
Jul 09 Python
Python实现画图软件功能方法详解
Jul 28 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
Jan 29 Python
python库Tsmoothie模块数据平滑化异常点抓取
Jun 10 Python
基于Python实现文件大小输出
Jan 11 #Python
详解Python发送邮件实例
Jan 10 #Python
python轻松查到删除自己的微信好友
Jan 10 #Python
如何处理Python3.4 使用pymssql 乱码问题
Jan 08 #Python
Python argv用法详解
Jan 08 #Python
详解Python爬虫的基本写法
Jan 08 #Python
黑科技 Python脚本帮你找出微信上删除你好友的人
Jan 07 #Python
You might like
PHP三层结构(上) 简单三层结构
2010/07/04 PHP
php自定义的格式化时间示例代码
2013/12/05 PHP
推荐一本PHP程序猿都应该拜读的书
2014/12/31 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
JQuery入门——移除绑定事件unbind方法概述及应用
2013/02/05 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2013/11/18 Javascript
jquery选择器之属性过滤选择器详解
2014/01/27 Javascript
JavaScript的strict模式与with关键字介绍
2014/02/08 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
javascript实现显示和隐藏div方法汇总
2015/08/14 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
2016/06/16 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
2016/08/03 Javascript
JS组件系列之使用HTML标签的data属性初始化JS组件
2016/09/14 Javascript
js正则表达式验证表单【完整版】
2017/03/06 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
jQuery常用选择器详解
2017/07/17 jQuery
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
vue中npm包全局安装和局部安装过程
2019/09/03 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
2019/09/27 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
在Python中用get()方法获取字典键值的教程
2015/05/21 Python
关于python的list相关知识(推荐)
2017/08/30 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
2019/06/04 Python
python 遍历pd.Series的index和value
2019/11/26 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
基于Python采集爬取微信公众号历史数据
2020/11/27 Python
HTML5 Canvas阴影使用方法实例演示
2013/08/02 HTML / CSS
小学生三分钟演讲稿
2014/08/18 职场文书
小马王观后感
2015/06/11 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书