admin管理员组

文章数量:1530085

在python中经常得面临着各种时间格式的相互转换。

下面介绍一些常用的时间格式转换:

一、时间戳格式转换为格式化时间

第一种方法
使用time模块进行转换

import time   # 导入第三方库

获取三个不同格式的时间(时间戳、结构化时间、格式化时间)

# 时间戳
time_stamp = time.time()
print(time_stamp)

# 结构化时间
time_struct = time.localtime()
print(time_struct)

# 格式化时间
time_format = time.strftime('%Y-%m-%d %H:%M:%S')
print(time_format)

在time模块中需要把时间戳转换为格式化时间,需要使用到第三介质(结构化时间)进行间接转换,并不能做到直接转换;

# 把时间戳转换为格式化时间
time_struct = time.localtime(time_stamp)    # 首先把时间戳转换为结构化时间
time_format = time.strftime("%Y-%m-%d %H-%M-%S",time_struct)        # 把结构化时间转换为格式化时间
print(time_format)

第二种方法
使用第三方库datetime

import datetime

转化时间戳为格式化时间

time_format = datetime.datetime.fromtimestamp(time_stamp)  # 直接传入时间戳格式时间
print(time_format)

总结:使用time模块进行格式转化,比较麻烦,但是转换为格式化的时间格式可以自定义,格式多样性;使用datetime第三方库进行时间格式转换,比较简单直接,但是格式固定,不能进行更改。

二、格式化时间转换为时间戳格式

使用time模块进行转换

import time   # 导入第三方库

获取三个不同格式的时间(时间戳、结构化时间、格式化时间)

# 时间戳
time_stamp = time.time()
print(time_stamp)

# 结构化时间
time_struct = time.localtime()
print(time_struct)

# 格式化时间
time_format = time.strftime('%Y-%m-%d %H:%M:%S')
print(time_format)

把格式化时间转换为时间戳需要注意的是,格式化时间的格式是什么就必须在转换函数中输入对应的格式。

# 把格式化时间转换为时间戳时间
time_struct = time.strptime(time_format,"%Y-%m-%d %H-%M-%S")   # 首先把格式化时间转换为结构化时间
time_stamp = time.mktime(time_struct)
print(time_stamp)

使用time对格式化时间进行转换时候必须填入对应的格式中time.strptime()中。

提示:
结构化时间中各个时间变量内容对应的含义(参考):

struct tm {
        int tm_sec;     /* seconds after the minute - [0,59] */
        int tm_min;     /* minutes after the hour - [0,59] */
        int tm_hour;    /* hours since midnight - [0,23] */
        int tm_mday;    /* day of the month - [1,31] */
        int tm_mon;     /* months since January - [0,11] */
        int tm_year;    /* years since 1900 */
        int tm_wday;    /* days since Sunday - [0,6] */
        int tm_yday;    /* days since January 1 - [0,365] */
        int tm_isdst;   /* daylight savings time flag */
        };

本文标签: 时间格式Python