日期和时间在计算机编程中是非常重要的概念,特别是在处理数据、日志记录、计划任务等方面。Python作为一门功能强大的编程语言,提供了丰富的库和内置函数,使得对日期和时间的操作变得简单而高效。本文将介绍一些常见的Python日期时间操作,以帮助你更好地处理和管理时间数据,本文将介绍python关于当前时间戳的获取及时间的运算、转换相关内容。
处理时间和日期主要使用datetime模块。该模块包含了一些类和函数,使得可以轻松地获取当前日期和时间,以及进行各种算术运算。下面是一些与时间有关的常用类:
- date:表示一个日期,比如年、月、日。
- time:表示一个时间,比如小时、分钟、秒等。
- datetime:表示一个日期和时间组合。
(strftime()可以将datetime转换为字符串,strptime()可以将字符串转换为datetime)
时间的运算:加减
方法一:timedelta
什么是timedelta呢?它表示一个时间长度,可以是两个星期相减的差值,也可以是两个日期相减的差值等等,两个datetime.datetime相减或者两个datetime.date相减的结果就是daftetime.delta
例:
import datetime
start_time = datetime.datetime(2023, 10, 24, 15, 30, 0)
delta = datetime.timedelta(days=1)
end_time = start_time + delta
print(end_time)
输出:
2023-10-25 15:30:00
释义:开始时间+delta时间 [1天间隔] =后一天的时间 同理如果是-1则可求出前一天的时间
方法二:使用datetime直接相减
例:
import datetime
start_time = datetime.datetime(2022, 11, 5, 15, 30, 0)
end_time = datetime.datetime(2022, 11, 10, 12, 0, 0)
time_delta = end_time - start_time
print(time_delta)
输出:
4 days, 20:30:00
释义:可直接得出相差的时间
方法三:使用mktime(时间戳)
首先说一说什么是时间戳,时间戳即1970年1月1日以来经过的秒数。可以使用如下方式求出两个日期之间的时间差。
例:
from datetime import datetime
import time
start_time = datetime(2022, 11, 5, 15, 30, 0)
end_time = datetime(2022, 11, 10, 12, 0, 0)
start_timestamp = time.mktime(start_time.timetuple())
end_timestamp = time.mktime(end_time.timetuple())
print(end_timestamp - start_timestamp)
输出:
419400.0
#单位是:秒
释义:可直接计算出两个时间相差多少秒
当前时间、日期的获取
方法一:time
例:
import time
# 获取当前时间的时间戳
timestamp = time.time()
# 输出当前时间的时间戳
print(timestamp)
输出:
1698140903.5460541
方法二:datetime.today
例:
import time
from datetime import datetime
now_time = datetime.today()
end_time = datetime(now_time.year, now_time.month, now_time.day, now_time.hour, now_time.minute, now_time.second)
输出:
2023-10-24 17:53:13
释义:通过datetime获取当天的日期,再使用datetime分别提取日期对应的年月日时分秒,虽然函数名字叫today,但也可以通过它来直接拿到当前的时间
方法三:datetime.now (带时区)
例:
import datetime
datetime01 = datetime.datetime.now()
print(datetime01)
输出:
2023-10-24 17:56:18.970298
释义:可以直接获取当前日期时间,但输出的格式是带有时区格式的/datetime对象
时间戳的转换
方案一:timestamp()方法将datetime对象转换为时间戳
例:
import datetime
# 使用指定的日期和时间创建datetime对象
dt = datetime.datetime(2022, 3, 22, 12, 30, 45, 1000)
# 将datetime对象转换为时间戳
timestamp = dt.timestamp()
# 输出指定时间的时间戳
print(timestamp)
输出:
1647923445.001
释义:此方法可以将datetime对象直接转成时间戳
方案二:将时间戳转为datetime对象
例:
import datetime
# 使用指定的时间戳创建datetime对象
timestamp = 1647977445.001
# 将时间戳转换为datetime对象
dt = datetime.datetime.fromtimestamp(timestamp)
# 输出转换后的datetime对象
print(dt)
输出:
2022-03-23 03:30:45.001000
方案三:将时间戳转为字符串strftime()
例:
import datetime
# 使用指定的时间戳创建datetime对象
timestamp = 1647977445.001
# 将时间戳转换为datetime对象
dt = datetime.datetime.fromtimestamp(timestamp)
# 将datetime对象格式化为字符串
str_dt = dt.strftime("%Y-%m-%d %H:%M:%S.%f")
# 输出格式化后的字符串
print(str_dt)
输出:
2022-03-23 03:30:45.001000
以上就是常用的时间转换和运算方面的内容了,如有疑问欢迎评论区留言讨论
❤关注我,不迷路❤
******我的本文相关专栏******
******我的其它作品专栏******