时间无疑是生活各个方面中最关键的因素之一,因此,记录和跟踪时间变得非常重要。在 Python 中,可以通过其内置库跟踪日期和时间。
Python 提供了
time
和
datetime
模块,可以帮助我们轻松获取和修改日期和时间,下面让我们来逐一了解一下。
time 模块
该模块包括使用时间执行各种操作所需的所有与时间相关的功能,它还允许我们访问多种用途所需的时钟类型。
内置函数:
请看下表,它描述了时间模块的一些重要内置功能。
| function | Description |
|---|---|
| time() | 返回自epoch以来经过的秒数 |
| ctime() | 以经过的秒数作为参数,返回当前日期和时间 |
| sleep() | 在给定的持续时间内停止线程的执行 |
| time.struct_time Class | 函数要么将此类作为参数,要么将其作为输出返回 |
| localtime() | 以自epoch以来经过的秒数作为参数,并以时间形式返回日期和时间。struct_time格式 |
| gmtime() | 与localtime()类似,返回时间。UTC格式的struct_time |
| mktime() | ocaltime()的倒数。获取包含9个参数的元组,并返回自epoch pas输出以来经过的秒数 |
| asctime() | 获取包含9个参数的元组,并返回表示相同参数的字符串 |
| strftime() | 获取包含9个参数的元组,并根据使用的格式代码返回表示相同参数的字符串 |
| strptime() | 分析字符串并及时返回。struct_time格式 |
代码格式化:
在用示例解释每个函数之前,先看一下所有合法的格式化代码的方式:
| Code | Description | Example |
|---|---|---|
| %a | Weekday (short version) | Mon |
| %A | Weekday (full version) | Monday |
| %b | Month (short version) | Aug |
| %B | Month (full version) | August |
| %c | Local date and time version | Tue Aug 23 1:31:40 2019 |
| %d | Depicts the day of the month (01-31) | 07 |
| %f | Microseconds | 000000-999999 |
| %H | Hour (00-23) | 15 |
| %I | Hour (00-11) | 3 |
| %j | Day of the year | 235 |
| %m | Month Number (01-12) | 07 |
| %M | Minutes (00-59) | 44 |
| %p | AM / PM | AM |
| %S | Seconds (00-59) | 23 |
| %U | Week number of the year starting from Sunday (00-53) | 12 |
| %w | Weekday number of the week | Monday (1) |
| %W | Week number of the year starting from Monday (00-53) | 34 |
| %x | Local date | 06/07/22 |
| %X | Local time | 12:30:45 |
| %y | Year (short version) | 22 |
| %Y | Year (full version) | 2022 |
| %z | UTC offset | +0100 |
| %Z | Timezone | CST |
| %% | % Character | % |
struct_time 类具有以下属性:
| Attribute | Value |
|---|---|
| tm_year | 0000, .., 2019, …, 9999 |
| tm_mon | 1-12 |
| tm_mday | 1-31 |
| tm_hour | 0-23 |
| tm_min | 0-59 |
| tm_sec | 0-61 |
| tm_wday | 0-6 (Monday is 0) |
| tm_yday | 1-366 |
| tm_isdst | 0, 1, -1 (daylight savings time, -1 when unknown) |
现在让我们看几个
time
模块的例子
使用time模块查找日期和时间
使用上表中描述的内置函数和格式化代码,可以在 Python 中轻松获取日期和时间。
|
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 31 32 |
|
Output:
Seconds since epoch : 1565070251.7134922
———-
Current date and time:
Tue Aug 6 11:14:11 2019
———-
Local time :
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=6, tm_hour=11, tm_min=14, tm_sec=11, tm_wday=1, tm_yday=218, tm_isdst=0)
———-
Local time in UTC format :
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=6, tm_hour=5, tm_min=44, tm_sec=11, tm_wday=1, tm_yday=218, tm_isdst=0)
———–
Current Time in seconds :
1565068234.0
———-
Current Time in local format :
Tue Aug 6 10:40:34 2019
———-
String representing date and time:
08/06/2019, 11:14:12
———-
time.strptime parses string and returns it in struct_time format :time.struct_time(tm_year=2019, tm_mon=8, tm_mday=6, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=218, tm_isdst=-1)
datetime 模块
与
time
模块类似,
datetime
模块包含处理日期和时间所必需的所有方法。
内置功能:
下表介绍了本模块中的一些重要功能:
| function | Description |
|---|---|
| datetime() | datetime 的构造函数 |
| datetime.today() | 返回当前本地日期和时间 |
| datetime.now() | 返回当前本地日期和时间 |
| date() | 以年、月、日为参数,创建相应的日期 |
| time() | 以小时、分钟、秒、微秒和tzinfo作为参数,并创建相应的日期 |
| date.fromtimestamp() | 转换秒数以返回相应的日期和时间 |
| timedelta() | 它是不同日期或时间之间的差异(持续时间) |
使用 datetime 查找日期和时间
现在,让我们尝试实现这些函数,以使用
datetime
模块在 Python 中查找日期和时间。