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

本文简单总结了一下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时间模块datetime、time、calendar的使用方法 的全部内容, 来源链接: utcz.com/z/342916.html

回到顶部