首页 > 编程知识 正文

Python时间相互转化

时间:2023-11-21 23:57:08 阅读:305078 作者:GEKE

Python是一种强大的编程语言,提供了丰富的时间处理函数和方法。本文将从多个方面详细介绍Python中的时间相互转化。

一、字符串转时间

1、使用strptime()函数将字符串转换为时间对象:

import datetime

date_str = "2022-01-01"
date_obj = datetime.datetime.strptime(date_str, "%Y-%m-%d")
print(date_obj)

上述代码中,strptime()函数将日期字符串"2022-01-01"转换为时间对象,并打印出结果。

2、将字符串转为时间戳:

import time

date_str = "2022-01-01"
timestamp = time.mktime(time.strptime(date_str, "%Y-%m-%d"))
print(timestamp)

上述代码中,strptime()函数将日期字符串"2022-01-01"转换为时间元组,然后使用mktime()函数将时间元组转换为时间戳,并打印出结果。

二、时间转字符串

1、使用strftime()函数将时间对象格式化为字符串:

import datetime

date_obj = datetime.datetime(2022, 1, 1)
date_str = date_obj.strftime("%Y-%m-%d")
print(date_str)

上述代码中,strftime()函数将时间对象格式化为字符串,"%Y-%m-%d"表示年-月-日的格式。

2、将时间戳转为字符串:

import time

timestamp = 1640995200
date_str = time.strftime("%Y-%m-%d", time.localtime(timestamp))
print(date_str)

上述代码中,strftime()函数将时间戳转换为时间元组,然后使用strftime()函数将时间元组格式化为字符串,并打印出结果。

三、时间戳转时间对象

使用fromtimestamp()函数将时间戳转换为时间对象:

import datetime

timestamp = 1640995200
date_obj = datetime.datetime.fromtimestamp(timestamp)
print(date_obj)

上述代码中,fromtimestamp()函数将时间戳转换为时间对象,并打印出结果。

四、时间对象转时间戳

使用timestamp()函数将时间对象转换为时间戳:

import datetime

date_obj = datetime.datetime(2022, 1, 1)
timestamp = date_obj.timestamp()
print(timestamp)

上述代码中,timestamp()函数将时间对象转换为时间戳,并打印出结果。

五、时区转换

1、使用astimezone()函数将时间对象转换为指定时区的时间对象:

import datetime
import pytz

date_obj = datetime.datetime(2022, 1, 1, 0, 0, tzinfo=pytz.utc)
date_obj = date_obj.astimezone(pytz.timezone("Asia/Shanghai"))
print(date_obj)

上述代码中,首先创建一个带有UTC时区的时间对象,然后使用astimezone()函数将其转换为上海时区的时间对象,并打印出结果。

2、使用replace()函数将时间对象的时区属性更改为指定时区:

import datetime
import pytz

date_obj = datetime.datetime(2022, 1, 1, 0, 0)
date_obj = date_obj.replace(tzinfo=pytz.timezone("Asia/Shanghai"))
print(date_obj)

上述代码中,首先创建一个没有时区信息的时间对象,然后使用replace()函数将其时区属性更改为上海时区,并打印出结果。

六、日期加减

使用timedelta()函数对时间对象进行日期加减操作:

import datetime

date_obj = datetime.datetime(2022, 1, 1)
delta = datetime.timedelta(days=1)
new_date_obj = date_obj + delta
print(new_date_obj)

上述代码中,timedelta()函数创建了一个时间间隔对象,表示一天的时间间隔,然后通过将时间对象与时间间隔对象相加,得到新的时间对象,并打印出结果。

七、日期差

使用date()函数获取时间对象的日期部分,然后进行日期计算:

import datetime

date_obj1 = datetime.datetime(2022, 1, 1)
date_obj2 = datetime.datetime(2023, 1, 1)
delta = date_obj2.date() - date_obj1.date()
print(delta.days)

上述代码中,date()函数获取了时间对象的日期部分,然后将两个日期对象相减得到时间差,最后使用days属性获取天数差,并打印出结果。

通过以上几种方法,我们可以方便地在Python中进行时间相互转化的操作。无论是字符串转时间、时间转字符串、时间戳转时间对象还是时间对象转时间戳,Python提供了丰富而强大的函数和方法,使时间处理变得简单高效。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。