首页 > 编程语言 >python 比较两个或多个时间,获取最大的时间(最近的时间)

python 比较两个或多个时间,获取最大的时间(最近的时间)

时间:2024-09-20 09:50:48浏览次数:9  
标签:form python datetime 获取 时间 time date type recent

自定义的公共函数

import date_time

def str2datetime(date_time, form="%Y-%m-%d %H:%M:%S"):
    _datetime = datetime.datetime.strptime(date_time, form) if isinstance(date_time, str) else date_time
    return _datetime


def datetime2str(date_time, form="%Y-%m-%d %H:%M:%S"):
    _datetime = datetime.datetime.strftime(date_time, form) if isinstance(date_time, datetime.datetime) else date_time
    return _datetime


def get_recent_datetime(date_time_list, form="%Y-%m-%d %H:%M:%S", response_type="str"):
    """
    获取最近的时间
    :param date_time_list: 时间列表
    :param form: 指定时间列表中的时间格式
    :param response_type: 函数返回结果的数据类型 datetime or str
    """
    recent_datetime = None
    for dt in date_time_list:
        dt = str2datetime(dt, form)
        recent_datetime = recent_datetime if recent_datetime and recent_datetime >= dt else dt
    
    if response_type == "str":
        recent_datetime = datetime2str(recent_datetime, form)
    elif response_type == "datetime":
        recent_datetime = str2datetime(recent_datetime, form)
    else:
        assert False, "response_type={} 参数错误, response_type当前仅支持 'datetime' 或 'str'".format(response_type)
    return recent_datetime


if __name__ == '__main__':

    now_date = datetime.datetime.now()  # 获取当前时间,type -> datetime
    datetime_str = "2024-9-19 15:36:07"  # 随便定义一个时间 type -> str
    
    dt_list = [now_date, datetime_str]
    result = get_recent_datetime(dt_list)  # 调用函数比较,获取最大的时间
    
    print(result)  
    print(type(result))

标签:form,python,datetime,获取,时间,time,date,type,recent
From: https://www.cnblogs.com/lanjianhua/p/18421900

相关文章

  • Python开发深度学习常见安装包 error 解决
    PythonPython是一种广泛使用的高级编程语言,它以其清晰的语法和代码可读性而闻名。Python支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。由于其简洁性和强大的标准库,Python成为了数据科学、机器学习、网络开发、自动化脚本、科学计算和教育等领域的首选语......
  • Python编程 - 协程
    前言上篇文章主要讲述了python的进程,进程池和进程与线程对比等知识,接下来这篇文章再唠唠python的协程,让我们继续往下看!一、协程的使用python中的协程是一种用于处理并发任务的高效工具,它依赖于asyncio库以及async和await关键字来实现异步编程。协程与传统的多线程或......
  • 回归预测|2024年最新优化算法美洲狮优化器PO 基于美洲狮PO优化BP神经网络数据时间序列
    回归预测|2024年最新优化算法美洲狮优化器PO基于美洲狮PO优化BP神经网络数据时间序列算法完整Maltab程序有对比文章目录一、基本原理1.美洲狮优化算法(POA)简介2.BP神经网络(BPNeuralNetwork)简介3.PO-BP回归预测流程总结二、实验结果三、核心代码四、代码获取五......
  • python, Pycharm开发环境配置!
    1.windows官网下载地址windowspythonDownloadwindowpycharmDownload专业版30天试用,可以下载社区版2.先下载安装python64,32位都可,一般现在都是64位双击安装,勾选Addpython.exetoPATH中如果想自定义安装,点击Customizeinstallation自定义安装,......
  • 掌握Python虚拟环境:隔离项目依赖,提升开发效率的必备指南
    虚拟环境是什么?        虚拟环境是Python中的一个概念,它允许开发者在一个隔离的环境中安装和使用Python包。每个虚拟环境都是一个独立的目录,其中包含特定版本的Python解释器和一系列独立的Python包。我们可以为每个项目创建一个虚拟环境,并为该环境安装所需的特定版......
  • 软件设计画图,流程图、甘特图、时间轴图、系统架构图、网络拓扑图、E-R图、思维导图
    目录一、流程图二、甘特图三、时间轴图四、系统架构图五、网络拓扑图六、E-R图七、思维导图一、流程图是一种用符号表示算法、工作流或流程的图形。用不同的图形表示不同含义,如椭圆表示开始和结束、菱形表示判断等。画图工具WPSoffice应用市场--文档处理--本地流......
  • 使用pyenv和venv管理python环境
    1.pyenv与venv的关系pyenv是一个用于管理多个Python版本的工具,主要专注于解决不同项目需要不同Python版本的问题。venv是Python内置的虚拟环境管理工具,主要用于创建隔离的Python环境,帮助避免在不同项目之间发生包依赖冲突。总结:pyenv用于安装Python的多个版本,venv用于隔离......
  • 多线程搜索文件拷贝-Python脚本
    单线程的文件拷贝太折磨人了,所以这里使用多线程的方式去拉满软件效率importosimportshutilimportthreadingimportqueueclassFileItem:"""自定义文件对象类,用于存储文件路径和命名序号"""def__init__(self,path,index):self.path=path......
  • python爬虫连载23
    HTTP协议HTTP协议(HyperTextTransferProtocol超文本传输协议)用于从服务器和客户端传输数据。HTTP请求l HTTP请求永远是客户端发起,服务器端响应。l HTTP请求时无状态的,即这一次的请求和任何其他次请求都没有关系。一次HTTP操作是一次事务。l HTTP请求步骤:1建立客户端和服务......
  • 7. 在Java中集合mysql如何执行一条简单的SELECT查询,并获取结果集?
    在Java中,使用JDBC(JavaDatabaseConnectivity)可以执行SQL查询,并获取结果集(ResultSet)。以下是执行一条简单的SELECT查询,并获取和处理结果集的详细步骤:1.导入必要的包首先,确保导入了必要的JDBC包。你需要导入以下包来进行数据库连接和操作:importjava.sql.Connection;imp......