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提供了丰富而强大的函数和方法,使时间处理变得简单高效。
原创文章,作者:SJLQ,如若转载,请注明出处:https://www.beidandianzhu.com/g/5079.html