首页 > 编程语言 >python parse time

python parse time

时间:2024-03-20 11:33:36浏览次数:22  
标签:11 2024 20 python datetime parse time

  • utils.py:
import re
from datetime import datetime
from typing import Union

# pip install python-dateutil
from dateutil import parser


def parse_time(s: Union[int, float, str]) -> datetime:
    """将字符串或数值转换为datetime

    Usage::
        >>> from datetime import datetime
        >>> parse_time(1710903685)
        datetime.datetime(2024, 3, 20, 11, 1, 25)
        >>> parse_time('1710903685')
        datetime.datetime(2024, 3, 20, 11, 1, 25)
        >>> parse_time('2024-03-20 11:01:25')
        datetime.datetime(2024, 3, 20, 11, 1, 25)
        >>> parse_time(1710903685) == parse_time('1710903685') == parse_time('2024-03-20 11:01:25') == datetime(2024, 3, 20, 11, 1, 25)
        True
        >>> parse_time(1710903685.780527) == parse_time('1710903685.780527') == parse_time('2024-03-20 11:01:25.780527') == datetime(2024, 3, 20, 11, 1, 25, 780527)
        True
        >>> now = datetime.now()
        >>> timestamp = now.timestamp()
        >>> parse_time(str(now)) == now == parse_time(str(timestamp)) == parse_time(timestamp)
        True
        >>> try:
        ...     parse_time('invalid time')
        ... except ValueError as e:
        ...     print(e)
        ...
        Can't parse s='invalid time' to datetime
    """
    if isinstance(s, (int, float)):
        return datetime.fromtimestamp(s)
    if s.isdigit():
        return datetime.fromtimestamp(int(s))
    if re.match(r"\d+\.\d+$", s):
        return datetime.fromtimestamp(float(s))
    try:
        return parser.parse(s)
    except parser.ParserError as e:
        raise ValueError(f"Can't parse {s=} to datetime") from e


def _test():
    import doctest

    doctest.testmod(verbose=True)


if __name__ == "__main__":  # pragma: no cover
    _test()

标签:11,2024,20,python,datetime,parse,time
From: https://www.cnblogs.com/waketzheng/p/18084880

相关文章

  • Python配置文件使用教程
    在Python应用程序开发过程中,配置文件扮演着重要的角色。配置文件可以用来存储应用程序的各种设置、选项和参数,使得程序更加灵活和可配置。本文将介绍Python中如何使用配置文件,并提供一些常见的配置文件处理方法。一、配置文件格式常见的配置文件格式有多种,包括INI格式、J......
  • Python打包成可执行文件(.exe)教程
    在Python开发中,将Python脚本打包成可执行文件(.exe)是一种常见的需求。将Python代码打包成可执行文件可以使得程序在没有安装Python解释器的环境下运行,也方便程序的发布和分发。本文将介绍几种常见的方法来将Python代码打包成可执行文件。一、pyinstallerpyinstaller是......
  • Python打包成可执行文件(.exe)教程
    在Python开发中,将Python脚本打包成可执行文件(.exe)是一种常见的需求。将Python代码打包成可执行文件可以使得程序在没有安装Python解释器的环境下运行,也方便程序的发布和分发。本文将介绍几种常见的方法来将Python代码打包成可执行文件。一、pyinstallerpyinstaller......
  • Python任务调度
    在实际的软件开发过程中,经常会遇到需要定时执行某些任务的情况,例如定时备份数据、定时发送邮件等。Python提供了多种方式来实现任务调度,本文将介绍几种常见的任务调度方法。一、使用sched模块Python标准库中的sched模块提供了一个简单的任务调度器,可以用来在指定的时间执......
  • Python配置文件使用教程
    在Python应用程序开发过程中,配置文件扮演着重要的角色。配置文件可以用来存储应用程序的各种设置、选项和参数,使得程序更加灵活和可配置。本文将介绍Python中如何使用配置文件,并提供一些常见的配置文件处理方法。一、配置文件格式常见的配置文件格式有多种,包括INI格式、JS......
  • pymatting,一个神奇的 Python 库!
    更多资料获取......
  • orator,一个好用的 Python 库!
    更多Python学习内容:ipengtao.com大家好,今天为大家分享一个好用的Python库-orator。Github地址:https://github.com/sdispater/orator在现代Web开发中,与数据库进行交互是一个非常常见且重要的任务。Python中有许多优秀的数据库ORM(对象关系映射)工具,其中之一就是Ora......
  • Python基于Excel生成矢量图层及属性表信息:ArcPy
      本文介绍基于Python中ArcPy模块,读取Excel表格数据并生成带有属性表的矢量要素图层,同时配置该图层的坐标系的方法。1任务需求  首先,我们来明确一下本文所需实现的需求。  现有一个记录北京市部分PM2.5浓度监测站点信息的Excel表格数据,格式为.xls;文件内包含站点编号、X......
  • Python函数每日一讲 - int()
    引言在Python编程中,经常需要将数据从一种类型转换为另一种类型。int()函数是Python中用于将其他数据类型转换为整数类型的内置函数之一。通过本文的介绍,你将了解int()函数的基本用法和常见应用场景,帮助你更好地处理数据类型转换的需求。语句概览int()函数用于将指定的值转换为......
  • springboot/java/php/node/python情侣空间微信小程序【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在当今社会,随着科技的迅猛发展和智能移动设备的普及,人们的社交方式正在经历着翻天覆地的变化。特别是年轻情侣之间,他们更倾向于通过数字化平台来表达情感......