python关于当前时间戳的获取及时间运算

日期和时间在计算机编程中是非常重要的概念,特别是在处理数据、日志记录、计划任务等方面。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

以上就是常用的时间转换和运算方面的内容了,如有疑问欢迎评论区留言讨论 


关注我,不迷路

******我的本文相关专栏******

软件测试 & 开发(单击此处进入)


 ******我的其它作品专栏******

PC常见故障汇总专栏(点击进入)

EXCEL综合场景应用详解(点击此处进入)

全国计算机等级考试-二级python基础(点击此处进入)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Liu_GuoXing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值