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_timeprint(time_delta)

 输出:

4 days, 20:30:00

释义:可直接得出相差的时间 

方法三:使用mktime(时间戳)

首先说一说什么是时间戳,时间戳即1970年1月1日以来经过的秒数。可以使用如下方式求出两个日期之间的时间差。

例:

from datetime import datetimeimport timestart_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 datetimenow_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基础(点击此处进入)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/117858.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

shell脚本实战案例--系统服务脚本

目录 1、源码编译安装nginx 2、分别编写基于RHEL6和RHEL7的脚本。 2.1 RHEL6的nginx系统服务脚本 2.2 RHEL7的nginx系统服务脚本 1、源码编译安装nginx 1.首先关闭防火墙和selinux [rootnode13 ~]# systemctl stop firewalld [rootnode13 ~]# setenforce 0 2.准备环境&…

阿里云核心产品list

计算: 01函数计算(Function Compute)全托管serverless计算服务,不需要管理服务器等基础设施,只需要编写代码并上传。 02云服务器(Elastic Compute Service)云计算服务 03GPU云服务(G…

java类的动态加载

java类的动态加载 java动态加载的机制: ClassLoader->SecureClassloader–>URLClassLoader–>AppClassLoader loadClass–>findClass(重写方法)–>defineClass(从字节码加载类) 初始化的时候会加载静态代码块 实例化的时候会加载构造代码块、无参构…

45.Redis核心数据结构实战与高性能原理剖析

Redis五种常用数据结构 #redis-cli查看帮助命令 help stringstring 应用场景 //单值缓存 Test public void redisString() throws JsonProcessingException {Jedis jedis pool.getResource();// for (String key : jedis.keys("*")) {// …

单片机设计_RTC时钟(ACM32F403)

一、电路设计 ACM32F403开发板 实现结果:通过串口发送每秒的时间 二、运行结果 三、部分代码 #include "APP.h"UART_HandleTypeDef Uart_Handle;/********************************************************************************* * Function …

Banana Pi BPI-W3(Armsom W3)RK3588开当板之调试UART

前言 本文主要讲解如何关于RK3588开发板UART的使用和调试方法,包括UART作为普通串口和控制台两种不同使用场景 一. 功能特点 Rockchip UART (Universal Asynchronous Receiver/Transmitter) 基于16550A串口标准,完整模块支持以下功能: 支…

gRPC之gateway集成swagger

1、gateway集成swagger 1、为了简化实战过程,gRPC-Gateway暴露的服务并未使用https,而是http,但是swagger-ui提供的调用服 务却是https的,因此要在proto文件中指定swagger以http调用服务,指定的时候会用到文件 prot…

jeecg 重新加载表格

searchQuery() { let id this.$route.query.id; if(id){ this.queryParam.resourceInfoId id//this.$store.state.resourceInfoId }else{ this.queryParam.resourceInfoId } this.loadData();//重新加载表格 this.isShow true; },

深入浅出Dart》函数

函数 Dart语言作为一门面向对象的语言,函数在其中占据了非常重要的位置。本文将详细解析如何定义和调用函数,以及箭头语法,高阶函数和闭包等内容。 1. 函数的定义和调用 在Dart中,函数可以定义为一段实现特定功能的代码块&…

Pytorch使用torchvision.datasets.ImageFolder读取数据集,数据集的内容排列状况

当使用torchvision.datasets.ImageFolder读取猫狗数据集时,dataset中存的图片是 猫狗猫狗猫狗猫狗 还是 猫猫猫猫狗狗狗狗 呢? 数据集文件的存放路径如下图 测试代码如下 import torch import torchvisiontransform torchvision.transforms.Compose([torchvision.transform…

易点易动设备管理系统:提升企业备件管理和维修效率的智能解决方案

在当今竞争激烈的商业环境中,大型生产制造企业面临着日益复杂的设备管理挑战。为了提高生产效率和降低成本,企业需要一种高效的设备管理系统。易点易动设备管理系统是一款智能化的解决方案,旨在帮助企业提升备件管理和维修效率。本文将详细介…

C++笔记之初始化二维矩阵的方法

C笔记之初始化二维矩阵的方法 —— 2023年5月20日 上海 code review! 文章目录 C笔记之初始化二维矩阵的方法一.常见方法1. 使用数组2. 使用向量3. 使用数组的动态分配4. 使用嵌套的 std::vector 并使用resize方法5. 初始化固定大小的 std::array 二.C中使用vector初始化二维矩…

Django token 认证原理与实战

概述 cookie、session 与token 的区别 Cookie的作用 cookie的存储量很小,一般不超过4Kcookie并不会保存很多信息,一般用来存储登录状态cookie是以键值对进行表示的(keyvalue),例如nameli,表示cookie的名字是name,cookie携带的值是licookie的存储分为会…

蓝桥杯双周赛算法心得——摆玩具(分段的差不计入结果)

大家好,我是晴天学长,这是一道可以牢记的数学技巧题。 1) .摆玩具 2) .算法思路 1.创建一个Scanner对象以从用户读取输入。 2.从用户读取n和k的值,分别表示数组的大小和k的值。 3.创建一个大小为n的整数数组a,用于存储输入的数…

这两天的一些碎碎念

一直以来我都不算是一个非常热爱运维岗位的一个人,其实本行工作对于我来说只是一个工作。运维的广度很大,说什么工作了7年了,可最终总感觉还曾是一窍不通。 什么shell啊,什么python啊,什么大数据啊,7年里&a…

Django实现音乐网站 (22)

使用Python Django框架做一个音乐网站, 本篇音乐播放器功能完善:顺序播放、设置播放数、歌词滚动等功能。 目录 顺序播放 设置顺序播放 单曲播放数 添加路由 视图处理 模板处理 歌词滚动 视图内容返回修改 样式设置 模板内容 歌词滚动脚本 歌…

uniapp开发小程序—根据生日日期计算年龄 周岁

0、需求 在UniApp开发小程序中,将接口返回的出生日期转化为年龄;判断接口返回的年龄是否是周岁 可以使用JavaScript的日期处理方法来实现。 一、第一种方式(示例代码): //javascript // 假设接口返回的年龄为生日的…

TCP通信实战案例-即时通信

即时通信是什么含义,要实现怎么样的设计? 即时通信,是指一个客户端的消息发出去,其他客户端可以接收到。 即时通信需要进行端口转发的设计思想。 服务端需要把在线的Socket管道存储起来。 一旦收到一个消息要推送给其他管道。…

Json字符串转换小工具

下载【免费】Json字符串格式化和压缩,支持数组元素的不换行且能转换成16进制资源-CSDN文库 推荐理由: 离线使用支持json字符串的数据格式化和压缩,如:图1支持数组元素的16进制转换,如:图2支持数组元素不换…

小主机折腾记18

这个月冲动消费了小两千块钱…… 1.880g5twr 由于四根2400t的内存条没有用出去,我又把它们装回了惠普的800g5twr; 看到pdd有400块钱的9350K,于是想着给他上一个9350k 在参考了pdd、咸鱼以及淘宝的价格后,我发现400块钱的9350k都…