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 相关文章推荐
仅用500行Python代码实现一个英文解析器的教程
Apr 02 Python
python使用分治法实现求解最大值的方法
May 12 Python
Java多线程编程中ThreadLocal类的用法及深入
Jun 21 Python
深入浅析Python中join 和 split详解(推荐)
Jun 30 Python
python Socket之客户端和服务端握手详解
Sep 18 Python
使用python接入微信聊天机器人
Mar 31 Python
django表单的Widgets使用详解
Jul 22 Python
python英语单词测试小程序代码实例
Sep 09 Python
python:解析requests返回的response(json格式)说明
Apr 30 Python
python中查看.db文件中表格的名字及表格中的字段操作
Jul 07 Python
python模拟点击玩游戏的实例讲解
Nov 26 Python
python爬取youtube视频的示例代码
Mar 03 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生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
详解ECMAScript6入门--Class对象
2017/04/27 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
vue中接口域名配置为全局变量的实现方法
2018/09/20 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
2019/08/07 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
Django框架下在URLconf中指定视图缓存的方法
2015/07/23 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
python 函数中的内置函数及用法详解
2019/07/02 Python
超实用的 30 段 Python 案例
2019/10/10 Python
分享PyCharm的几个使用技巧
2019/11/10 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
django orm模块中的 is_delete用法
2020/05/20 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
2021/01/27 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
比较基础的php面试题及答案-填空题
2014/04/26 面试题
审核会计岗位职责
2013/11/08 职场文书
护士求职推荐信范文
2013/11/23 职场文书
2014年两会学习心得体会
2014/03/17 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
介绍长城的导游词
2015/01/30 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
横空出世观后感
2015/06/09 职场文书
讲座新闻稿
2015/07/18 职场文书