Python自学教程第十一课:日期和时间

精华 发表在    Python教程部落 10-23 14:44:14

0 2668 4

Python程序可以通过多种方式处理日期和时间。日期格式之间的转换是计算机常见问题。Python的时间(time)和日历(calendar)模块可用于跟踪日期和时间。

一些常用代码示例

  • 获取当前时间和日期,如:2018-08-18 12:12:00
  • 计算两个日期相差天数
  • 计算程序运行的时间

#!/usr/bin/python3#coding=utf-8import time  import datetime    starttime = datetime.datetime.now()  time.sleep(5)  endtime = datetime.datetime.now()  print ((endtime - starttime).seconds )
#!/usr/bin/python3#coding=utf-8import time  import datetime    d1 = datetime.datetime.now()  d3 = d1 + datetime.timedelta(days =10)  print (str(d3))print (d3.ctime())
t = (datetime.datetime(2019,1,13,12,0,0) - datetime.datetime.now()).total_seconds()print ("t = ", t)## 输出结果t = 49367780.076406

模块说明

71023144510135


时间间隔是以秒为单位的浮点数。 从1970年1月1日上午12:00(epoch),这是一种时间的特殊时刻表示。

在Python中,当前时刻与上述特殊的某个时间点之间以秒为单位的时间。这个时间段叫做Ticks。

zc_20171023144112321

time模块中的time()函数返回从1970年1月1日上午12点开始的秒数。

# Import time module.import time;# Secondsticks = time.time()print ("Number of ticks since 12:00am, January 1, 1970: ", ticks)
Number of ticks since 12:00am, January 1, 1970:  1497970093.6243818
2. 什么是TimeTuple?

许多Python时间函数将时间处理为9个数字的元组,如下所示:

索引字段值

71023144542020

import timeprint (time.localtime());
time.struct_time(tm_year = 2016, tm_mon = 2, tm_mday = 15, tm_hour = 9,     tm_min = 29, tm_sec = 2, tm_wday = 0, tm_yday = 46, tm_isdst = 0)

索引字段值

71023144608045

zc_20171023144113399

2.1.获取当前时间

要将从时间浮点值开始的秒数瞬间转换为时间序列,将浮点值传递给返回具有所有有效九个项目的时间元组的函数(例如本地时间)。

#!/usr/bin/python3import time  localtime = time.localtime(time.time())print ("Local current time :", localtime)# 当前时间curtime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())print (curtime)
Local current time : time.struct_time(tm_year=2017, tm_mon=6, tm_mday=20, tm_hour=23, tm_min=9, tm_sec=36, tm_wday=1, tm_yday=171, tm_isdst=0) Curtime is =>  2017-06-20 23:09:36

可以根据需要格式化任何时间,但也可使用可读格式获取时间的简单方法是 - asctime() -

#!/usr/bin/python3import time  localtime = time.asctime( time.localtime(time.time()) )print ("Local current time :", localtime)
Local current time : Mon Feb 15 10:32:13 2018

calendar模块提供了广泛的方法来显示年历和月度日历。 在这里,将打印一个给定月份的日历(2021年11月) -

#!/usr/bin/python3import calendar  cal = calendar.month(2021, 11)print ("Here is the calendar:")print (cal)
  November 2021 Mo Tu We Th Fr Sa Su  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Python中有一个受欢迎的时间(time)模块,它提供了处理时间和表示之间转换的功能。以下是所有时间(time)可用方法的列表。

编号方法描述

71023144646631

编号属性描述

71023144707624

calendar模块提供与日历相关的功能,包括为给定的月份或年份打印文本日历的功能。

默认情况下,日历将星期一作为一周的第一天,将星期日作为最后一天。 如果想要更改这个,可调用calendar.setfirstweekday()函数设置修改。

以下是calendar模块可用的功能函数列表 -

编号函数描述

71023144739539

如果您有兴趣,那么可以在Python中找到其他重要的模块和功能列表,其中包含日期和时间。以下列出其它有用的模块 -

  • datetime模块
  • pytz模块
  • dateutil模块  



登录或注册后发布评论