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

如何使用python函数进行时间格式转换?

发布时间:2023-06-26 04:05:21

时间是计算机程序中常见的数据类型之一,但是不同的程序语言中时间的表示方式会有所不同。在Python中,时间通常以字符串形式表示,并且有许多支持时间格式转换的函数可以使用。在这篇文章中,我们将通过以下几个方面带您了解如何使用Python函数进行时间格式转换。

一、时间格式的表示

在Python中,时间可以用多种不同的方式表示,如下所示:

1. 时间戳:以秒为单位的表示一个固定的时间点,从1970年1月1日零时零分零秒(UTC/GMT的午夜)开始计算。

2. 时间元组(struct_time):一个包含9个元素的元组,分别表示年、月、日、时、分、秒、周内第几天、一年中第几天、夏令时。

3. 字符串:一种可读性较好的形式,表示的是一段时间的范围(如“2020年1月1日至2021年1月1日”)或者一个具体的时间点(如“2020年1月1日晚上8点5分30秒”)。

对于界面交互,字符串形式的时间更被广泛应用,因为字符串时间更有人性化,具有可读性。

二、Python中的时间格式转换函数

Python中有许多时间格式转换函数,这些函数可以根据我们的需要,将时间格式从不同的形式进行转换。下面是一些常用的时间格式转换函数。

1. time.time()

time.time()函数返回从1970年1月1日零时零分零秒(UTC/GMT的午夜)到当前时间的秒数,也称为UNIX时间戳。

import time

now = time.time()

print(now)

输出结果:1631928537.9360948

2. time.localtime()

time.localtime()函数将时间戳转换为时间元组,以便在程序中进一步操作。

import time

now = time.time()

local_time = time.localtime(now)

print(local_time)

输出结果:time.struct_time(tm_year=2021, tm_mon=9, tm_mday=17, tm_hour=16, tm_min=35, tm_sec=37, tm_wday=4, tm_yday=260, tm_isdst=0)

3. time.strftime()

time.strftime()函数将时间元组转换为格式化字符串。

import time

now = time.localtime()

local_time = time.strftime('%Y-%m-%d %H:%M:%S', now)

print(local_time)

输出结果:2021-09-17 16:42:08

strftime()函数中的参数是一个格式字符串,用于指定输出字符串的格式,具体含义如下:

%Y:千年

%m:月

%d:日

%H:小时

%M:分钟

%S:秒

4. time.strptime()

time.strptime()函数将格式化字符串转换为时间元组。

import time

format_time = '2021-09-17 16:42:08'

local_time = time.strptime(format_time, '%Y-%m-%d %H:%M:%S')

print(local_time)

输出结果:time.struct_time(tm_year=2021, tm_mon=9, tm_mday=17, tm_hour=16, tm_min=42, tm_sec=8, tm_wday=4, tm_yday=260, tm_isdst=-1)

5. datetime.datetime.strptime()

datetime.datetime.strptime()函数将格式化字符串转换为datetime对象。

import datetime

format_time = '2021-09-17 16:42:08'

local_time = datetime.datetime.strptime(format_time, '%Y-%m-%d %H:%M:%S')

print(local_time)

输出结果:2021-09-17 16:42:08

三、案例介绍

下面我们来通过一个案例介绍如何使用Python函数进行时间格式转换。假设我们需要将“2021年9月17日”这种格式的时间转换为时间戳。

import time

format_time = '2021年9月17日'

local_time = time.strptime(format_time, '%Y年%m月%d日')

timestamp = time.mktime(local_time)

print(local_time)

print(timestamp)

输出结果:

time.struct_time(tm_year=2021, tm_mon=9, tm_mday=17, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=260, tm_isdst=-1)

1631808000.0

在上面的代码中,通过time.strptime()函数将“2021年9月17日”转换为时间元组,再通过time.mktime()函数将其转换为时间戳。这样,我们就成功地将字符串格式的时间转换为数字格式的时间戳了。

四、总结

时间是程序中常见的数据类型之一,在Python中有许多函数可以进行时间格式的转换,我们可以将其转换为时间戳、时间元组、格式化字符串、datetime对象等不同的形式。在实际开发中,根据自己的需求,选择不同的格式进行操作可以效率更高。需要注意的是,时间格式的表示方式有多种,一定要根据实际情况进行选择,以避免出现不必要的错误。