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函数参数*args**kwargs用法实例
Dec 04 Python
python根据京东商品url获取产品价格
Aug 09 Python
浅谈python为什么不需要三目运算符和switch
Jun 17 Python
Python基于回溯法子集树模板解决找零问题示例
Sep 11 Python
Python实现的双色球生成功能示例
Dec 18 Python
python实现两个文件合并功能
Apr 01 Python
django框架自定义模板标签(template tag)操作示例
Jun 24 Python
Django rest framework jwt的使用方法详解
Aug 08 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
pycharm无法导入本地模块的解决方式
Feb 12 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
Feb 17 Python
如何理解及使用Python闭包
Jun 01 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命令行用法
2015/02/04 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
区分JS中的undefined,null,"",0和false
2007/03/08 Javascript
JavaScript 全角转半角部分
2009/10/28 Javascript
javascript 面向对象 function类
2010/05/13 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
SyntaxHighlighter 3.0.83使用笔记
2015/01/26 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
Jquery 获取相同NAME 或者id删除行操作
2020/08/24 jQuery
python映射列表实例分析
2015/01/26 Python
Python找出文件中使用率最高的汉字实例详解
2015/06/03 Python
python下setuptools的安装详解及No module named setuptools的解决方法
2017/07/06 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
pandas 小数位数 精度的处理方法
2018/06/09 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
python调用win32接口进行截图的示例
2020/11/11 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
为什么UNION ALL比UNION快
2016/03/17 面试题
模具设计与制造专业应届生求职信
2013/10/18 职场文书
毕业晚会主持词
2014/03/24 职场文书
倡议书范文格式
2014/05/12 职场文书
小学先进集体事迹材料
2014/05/31 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers