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中的jquery PyQuery库使用小结
May 13 Python
使用python绘制常用的图表
Aug 27 Python
详解python中的文件与目录操作
Jul 11 Python
python topN 取最大的N个数或最小的N个数方法
Jun 04 Python
Django rest framework工具包简单用法示例
Jul 20 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
Mar 05 Python
wxpython绘制圆角窗体
Nov 18 Python
python dict乱码如何解决
Jun 07 Python
python小白学习包管理器pip安装
Jun 09 Python
Python基于yaml文件配置logging日志过程解析
Jun 23 Python
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
Jun 09 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
Jun 26 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
一个程序下载的管理程序(三)
2006/10/09 PHP
php使用ICQ网关发送手机短信
2013/10/30 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
PHP智能识别收货地址信息实例
2019/01/05 PHP
PHP的mysqli_stat()函数讲解
2019/01/23 PHP
Yii框架日志操作图文与实例详解
2019/09/09 PHP
拖动一个HTML元素
2006/12/22 Javascript
JavaScript Date对象使用总结
2009/05/14 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
jQuery过滤选择器详解
2015/01/13 Javascript
jQuery插件实现控制网页元素动态居中显示
2015/03/24 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
vue实现未登录跳转到登录页面的方法
2018/07/17 Javascript
JavaScript创建对象的常用方式总结
2018/08/10 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
使用python编写脚本获取手机当前应用apk的信息
2014/07/21 Python
Python XML RPC服务器端和客户端实例
2014/11/22 Python
python实现比较文件内容异同
2018/06/22 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
2020/03/31 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
Python图像读写方法对比
2020/11/16 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
美国最大婚纱连锁店运营商:David’s Bridal
2019/03/12 全球购物
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
食堂厨师岗位职责
2014/08/25 职场文书
纪念九一八事变演讲稿1000字
2014/09/14 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
代理词怎么写
2015/05/25 职场文书
SQLServer 日期函数大全(小结)
2021/04/08 SQL Server
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android