欢迎访问宙启技术站
智能推送

Python日期和时间函数简明教程

发布时间:2023-06-04 05:50:03

Python是一种流行的编程语言,它拥有许多日期和时间函数。在这篇文章中,我们将介绍Python中一些常用的日期和时间函数,并演示如何使用它们。

1. datetime模块

Python中处理日期和时间的主要模块是datetime。在这个模块中,主要有以下几个类:

- datetime.date:表示日期

- datetime.time:表示时间

- datetime.datetime:表示日期和时间

- datetime.timedelta:表示时间差

让我们来看一些常见的操作:

a) 获取当前日期和时间

使用datetime模块中的now()函数可以获取当前日期和时间。例如:

import datetime
now = datetime.datetime.now()
print('当前日期和时间:', now)

输出内容:

当前日期和时间: 2021-04-23 22:12:51.790584

b) 获取日期或时间的某个部分

要获取日期或时间的某个部分,比如年、月、日等,可以使用相应的属性。例如:

import datetime
now = datetime.datetime.now()
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second
print('当前时间:', now)
print('年:', year)
print('月:', month)
print('日:', day)
print('小时:', hour)
print('分钟:', minute)
print('秒:', second)

输出内容:

当前时间: 2021-04-23 22:17:54.231945
年: 2021
月: 4
日: 23
小时: 22
分钟: 17
秒: 54

c) 格式化日期和时间字符串

要将日期和时间转换为指定格式的字符串,可以使用strftime()函数。例如:

import datetime
now = datetime.datetime.now()
str_now = now.strftime('%Y-%m-%d %H:%M:%S')
print('当前时间:', now)
print('当前时间字符串:', str_now)

输出内容:

当前时间: 2021-04-23 22:22:19.944129
当前时间字符串: 2021-04-23 22:22:19

这里的'%Y-%m-%d %H:%M:%S'是一个格式化字符串,其中%Y代表年份(4位)、%m代表月份、%d代表日期、%H代表小时、%M代表分钟、%S代表秒。

d) 解析字符串为日期和时间

如果要将字符串解析为日期和时间,可以使用strptime()函数。例如:

import datetime
str_date = '2021-04-23 22:25:30'
date = datetime.datetime.strptime(str_date, '%Y-%m-%d %H:%M:%S')
print('字符串:', str_date)
print('日期和时间:', date)

输出内容:

字符串: 2021-04-23 22:25:30
日期和时间: 2021-04-23 22:25:30

2. time模块

time模块提供了一些处理时间的函数,主要包括以下几个:

- time(): 返回当前时间的时间戳(1970年1月1日至今的秒数)

- sleep(): 延时等待,单位为秒

- localtime(): 将一个时间戳转换为当前时区的struct_time

- strftime(): 将struct_time对象转换为指定格式的字符串

让我们来看一些示例:

a) 获取当前时间戳

使用time模块中的time()函数可以获取当前时间戳。例如:

import time
timestamp = time.time()
print('当前时间戳:', timestamp)

输出内容:

当前时间戳: 1619194075.561175

b) 延时等待

要等待一段时间后再继续执行,可以使用sleep()函数。例如:

import time
print('开始等待……')
time.sleep(3) # 等待3秒
print('等待结束。')

输出内容:

开始等待……
等待结束。

c) 时间戳转换为struct_time

要将时间戳转换为struct_time,可以使用localtime()函数。例如:

import time
timestamp = time.time()
local_time = time.localtime(timestamp)
print('时间戳:', timestamp)
print('本地时间:', local_time)

输出内容:

时间戳: 1619195603.04259
本地时间: time.struct_time(tm_year=2021, tm_mon=4, tm_mday=23, tm_hour=22, tm_min=46, tm_sec=43, tm_wday=4, tm_yday=113, tm_isdst=0)

d) struct_time转换为字符串

要将struct_time转换为字符串,可以使用strftime()函数。例如:

import time
local_time = time.localtime()
str_time = time.strftime('%Y-%m-%d %H:%M:%S', local_time)
print('本地时间:', local_time)
print('时间字符串:', str_time)

输出内容:

本地时间: time.struct_time(tm_year=2021, tm_mon=4, tm_mday=23, tm_hour=22, tm_min=50, tm_sec=16, tm_wday=4, tm_yday=113, tm_isdst=0)
时间字符串: 2021-04-23 22:50:16

3. calendar模块

calendar模块用于处理日期和时间,主要包括以下几个函数:

- calendar.month(): 返回指定年份和月份的日历

- calendar.calendar(): 返回指定年份的日历

- calendar.timegm(): 将一个struct_time转换为时间戳

- calendar.isleap(): 判断指定年份是否为闰年

让我们来看一些示例:

a) 输出指定年份和月份的日历

使用calendar模块中的month()函数可以输出指定年份和月份的日历。例如,

import calendar
calendar.setfirstweekday(calendar.SUNDAY) # 设置日历的      天为周日
year = 2021
month = 4
month_calendar = calendar.month(year, month)
print(f'{year}年{month}月的日历:
{month_calendar}')

输出内容:

2021年4月的日历:
     April 2021
Su Mo Tu We Th Fr Sa
             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

b) 输出指定年份的日历

使用calendar模块中的calendar()函数可以输出指定年份的日历。例如:

import calendar
calendar.setfirstweekday(calendar.SUNDAY) # 设置日历的      天为周日
year = 2021
year_calendar = calendar.calendar(year)
print(f'{year}年的日历:
{year_calendar}')

输出内容:

`

2021年的日历:

2021

January February March

Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

1 2 1 2 3 4 5 6 7 1 2 3 4 5 6

3 4 5 6 7 8 9 8 9 10 11 12 13 14 7 8 9 10 11 12 13

10 11 12 13 14 15 16 15 16 17 18 19 20 21 14 15 16 17 18 19 20

17 18 19 20 21 22 23 22 23 24 25 26 27 28 21 22 23 24 25 26 27

24 25 26 27 28 29 30 28 29 30 31

April May June

Su Mo Tu We Th Fr Sa Su Mo Tu We Th