您的位置:

使用Python将时间转换为日期

一、Python中时间的表示和格式

在Python中,时间可以使用time模块进行表示。time模块中最常用的函数是time(),其返回的是从1970年1月1日午夜开始经过的秒数。如:

import time

seconds = time.time()
print("当前秒数:", seconds)

结果:当前秒数:1607404345.9831102

而日期是指年、月、日,如果将时间转换成日期,就需要使用date()函数将其转换成日期格式。如:

import time
import datetime

seconds = time.time()
date = datetime.datetime.fromtimestamp(seconds).date()
print("当前日期:", date)

结果:当前日期:2020-12-08

在Python中,时间还有一个常用的格式化输出函数——strftime()。这个函数可以将时间输出为我们指定的日期格式,例如:

import time
import datetime

seconds = time.time()
date = datetime.datetime.fromtimestamp(seconds).strftime("%Y-%m-%d")
print("当前日期:", date)

结果:当前日期:2020-12-08

二、将时间转换成日期

将时间转换成日期,有两种常用的方法,可以通过datetime模块中的datetime.strptime()函数,或者通过dateutil.parser模块中的parse()函数实现。例如:

import datetime
from dateutil.parser import parse

# 方法一:datetime.strptime()函数
time_str = "2020-12-07 10:30:00"
date = datetime.datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S").date()
print("日期:", date)

# 方法二:dateutil.parser.parse()函数
time_str = "2020-12-07 10:30:00"
date = parse(time_str).date()
print("日期:", date)

结果:日期:2020-12-07

三、将日期转换成时间

将日期转换成时间,可以使用datetime模块中的datetime.combine()函数。例如:

import datetime

date_str = "2020-12-07"
date = datetime.datetime.strptime(date_str, "%Y-%m-%d").date()
time = datetime.time(hour=0, minute=0, second=0)
datetime_obj = datetime.datetime.combine(date, time)
seconds = datetime_obj.timestamp()
print("秒数:", seconds)

结果:秒数:1607270400.0

四、总结

本文介绍了在Python中将时间转换成日期和将日期转换成时间的方法。对于时间和日期的格式化输出,可以使用datetime模块中的strftime()函数。

需要注意的是,使用不同的方法进行时间和日期的转换时,要注意格式的统一性,以免出现转换异常的情况。