首页 后端开发 Python教程 Python时间模块datetime、time、calendar的使用方法

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

Jun 10, 2016 pm 03:06 PM
calendar datetime python time

本文简单总结了一下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程序设计有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Linux系统自带Python解释器能删除吗? Linux系统自带Python解释器能删除吗? Apr 02, 2025 am 07:00 AM

关于Linux系统自带Python解释器的删除问题许多Linux发行版在安装时会预装Python解释器,它并非通过软件包管理器�...

如何解决Python中自定义装饰器的Pylance类型检测问题? 如何解决Python中自定义装饰器的Pylance类型检测问题? Apr 02, 2025 am 06:42 AM

使用自定义装饰器时的Pylance类型检测问题解决方法在Python编程中,装饰器是一种强大的工具,可以用于添加行�...

如何在 Python 的 tqdm 中避免 print 导致的重复进度条问题? 如何在 Python 的 tqdm 中避免 print 导致的重复进度条问题? Apr 01, 2025 pm 11:48 PM

在Python的tqdm中避免print导致的重复进度条问题在使用Python的tqdm库时,如果在循环内部使用print...

如何使用Python的httpx库发送HTTP/2 POST请求? 如何使用Python的httpx库发送HTTP/2 POST请求? Apr 01, 2025 pm 11:54 PM

使用Python的httpx库发送HTTP/2...

FastAPI 和 aiohttp 是否共享同一个全局事件循环? FastAPI 和 aiohttp 是否共享同一个全局事件循环? Apr 02, 2025 am 06:12 AM

Python异步库之间的兼容性问题在Python中,异步编程已经成为处理高并发和I/O...

Python 3.6加载pickle文件报错ModuleNotFoundError: No module named '__builtin__'怎么办? Python 3.6加载pickle文件报错ModuleNotFoundError: No module named '__builtin__'怎么办? Apr 02, 2025 am 06:27 AM

Python3.6环境下加载pickle文件报错:ModuleNotFoundError:Nomodulenamed...

在Linux终端中使用python --version命令时如何解决权限问题? 在Linux终端中使用python --version命令时如何解决权限问题? Apr 02, 2025 am 06:36 AM

Linux终端中使用python...

See all articles