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小程序
Aug 15 Python
Python使用函数默认值实现函数静态变量的方法
Aug 18 Python
python实现感知器算法(批处理)
Jan 18 Python
Python基础之函数的定义与使用示例
Mar 23 Python
对python中的装包与解包实例详解
Aug 24 Python
Pycharm 字体大小调整设置的方法实现
Sep 27 Python
解决python 读取excel时 日期变成数字并加.0的问题
Oct 08 Python
浅谈tensorflow中张量的提取值和赋值
Jan 19 Python
python 非线性规划方式(scipy.optimize.minimize)
Feb 11 Python
python函数中将变量名转换成字符串实例
May 11 Python
Pyinstaller 打包发布经验总结
Jun 02 Python
python 实现的IP 存活扫描脚本
Dec 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伪静态页面函数附使用方法
2008/06/20 PHP
使用PHP实现密保卡功能实现代码<打包下载直接运行>
2011/10/09 PHP
PHP实现的回溯算法示例
2017/08/15 PHP
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
2014/08/18 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
2018/05/10 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
vue中datepicker的使用教程实例代码详解
2019/07/08 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
2020/11/20 Vue.js
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
Python列表list数组array用法实例解析
2014/10/28 Python
Python os模块学习笔记
2015/06/21 Python
python+matplotlib绘制旋转椭圆实例代码
2018/01/12 Python
python opencv 直方图反向投影的方法
2018/02/24 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
解决python中画图时x,y轴名称出现中文乱码的问题
2019/01/29 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
2020/12/29 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
总监职责范文
2013/11/09 职场文书
资产经营总监岗位职责范文
2013/12/01 职场文书
本科毕业生求职信
2014/06/15 职场文书
篮球赛口号
2014/06/18 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
教育见习报告范文
2014/11/03 职场文书
云台山导游词
2015/02/03 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android
vue的项目如何打包上线
2022/04/13 Vue.js
彻底卸载VMware虚拟机的超详细步骤记录
2022/07/15 Servers