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

Python中日期和时间格式化函数的用法

发布时间:2023-06-20 10:27:28

在Python中,有很多对日期和时间进行格式化输出的函数,这些函数常用于数据处理、文本操作等领域。在本篇文章中,我们将探讨日期和时间格式化函数的用法。

1. time模块

time模块是Python自带的模块,常用于处理UNIX时间戳。其中,时间戳(timestamp)是指从1970年1月1日零时(格林威治时间)起至现在的秒数。time模块中常用的日期和时间格式化函数有以下几个:

time.strftime(format[, t])

该函数用于将时间戳转换为字符串。其中,format是指转换后的字符串格式,t是指时间戳。例如,将当前时间戳转换为字符串:

import time

print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

运行结果为:2021-12-15 16:29:44

该函数中常用的格式化字符串有:

%Y:4位数的年份,如2021;

%m:1到12的月份,如1月为01,2月为02;

%d:1到31的日期,如1日为01,2日为02;

%H:小时数,如1-23;

%M:分钟数,如0-59;

%S:秒数,如0-59;

%a:星期几的简称,如Mon;

%A:星期几的全称,如Monday;

%b:月份的简称,如Jan;

%B:月份的全称,如January;

%c:完整的日期和时间,如Sat Jun 06 14:36:59 2020;

%j:一年中的第几天,如001-366;

%p:上午或下午的标志,如AM、PM;

%U:一年中的第几周,将周天作为每周的 天,如00-53;

%w:星期几的数字,0代表周日,1代表周一,依次类推;

%W:一年中的第几周,将周一作为每周的 天,如00-53;

%x:日期的格式,如06/06/20;

%X:时间的格式,如14:36:59。

例如,将上面的代码中的format改为"%Y年%m月%d日 %H:%M:%S %a",则输出结果为:2021年12月15日 16:29:44 Wed。

time.strptime(string[, format])

该函数用于将字符串转换为时间戳。其中,string是指要转换的字符串,format是指转换前的字符串格式。例如,将字符串"2021-12-15 16:29:44"转换为时间戳:

import time

t = time.strptime("2021-12-15 16:29:44", "%Y-%m-%d %H:%M:%S")

print(time.mktime(t))

运行结果为:1639564184.0

time.mktime(t)

该函数用于将本地时间转换为时间戳。其中,t是指本地时间的结构体。例如,将上面的代码中的t作为参数传入:

import time

print(time.mktime(time.strptime("2021-12-15 16:29:44", "%Y-%m-%d %H:%M:%S")))

运行结果为:1639564184.0

2. datetime模块

datetime模块是Python自带的模块,用于对日期和时间进行处理。与time模块不同,datetime模块提供的日期时间格式化函数更加高级。其中,datetime模块常用的日期和时间格式化函数有以下几个:

datetime.datetime.strftime(format)

该函数用于将datetime对象转换为字符串。其中,format是指转换后的字符串格式。例如,将当前时间转换为字符串:

import datetime

print(datetime.datetime.strftime(datetime.datetime.now(), "%Y-%m-%d %H:%M:%S"))

运行结果同上:2021-12-15 16:29:44

注意,strftime函数的参数是datetime.datetime对象,不是timestamp。

datetime.datetime.strptime(date_string, format)

该函数用于将字符串转换为datetime对象。其中,date_string是指要转换的字符串,format是指转换前的字符串格式。例如,将字符串"2021-12-15 16:29:44"转换为datetime对象:

import datetime

t = datetime.datetime.strptime("2021-12-15 16:29:44", "%Y-%m-%d %H:%M:%S")

print(t)

运行结果为:2021-12-15 16:29:44

datetime.datetime.fromtimestamp(timestamp)

该函数用于将timestamp转换为datetime对象。其中,timestamp是指时间戳。例如,将上面的代码中的time.mktime(t)的返回值作为参数传入:

import datetime

print(datetime.datetime.fromtimestamp(1639564184.0).strftime("%Y-%m-%d %H:%M:%S"))

运行结果同上:2021-12-15 16:29:44

另外,datetime模块还提供了一些常用的时间间隔(timedelta)操作函数,例如:

datetime.timedelta(days=x)

该函数用于创建一个时间间隔对象,常用于计算时间差。其中,x是指时间间隔的天数。例如,计算某个时间三天后的时间:

import datetime

t = datetime.datetime.now() + datetime.timedelta(days=3)

print(t.strftime("%Y-%m-%d %H:%M:%S"))

运行结果为:2021-12-18 16:29:44

综上所述,对于Python中的日期和时间格式化函数,我们主要了解了time模块和datetime模块的相关函数。这些函数可以方便地转换时间戳、字符串和datetime对象,同时也提供了更加高级的时间差操作和时间运算方式。掌握这些函数的使用,可以对处理时间相关问题有所帮助。