首页 > 编程语言 >【Python】日期格式转换 <字符串、datetime、date>

【Python】日期格式转换 <字符串、datetime、date>

时间:2023-08-09 11:13:33浏览次数:29  
标签:转换 logs Python transform datetime 日期 str date 格式

# coding:utf-8import datetimefrom dateutil.parser import parse
from dateutil.relativedelta import relativedelta
from loguru import logger as logs


class date_transform:
    """日期格式转换"""

    def auto(self, d):
        """判断参数类型"""
        try:
            if type(d) == str:
                re = self.str_to_date(d)
            elif type(d) in [datetime.datetime, datetime.date]:
                re = self.date_to_str(d)
            else:
                re = d
                logs.error("参数格式不在转换内, 返回原参数内容")
        except Exception as e:
            re = d
            logs.error("转换失败, 返回原参数内容, 失败原因:{}".format(e))
        finally:
            return re

    @staticmethod
    def str_to_date(d):
        """字符串转换为日期"""
        logs.info("字符串转换为日期:{}".format(parse(d)))
        return parse(d)

    @staticmethod
    def date_to_str_iso(d):
        """日期转换为字符串 ISO 8601是一种国际标准"""
        logs.info("日期转换为ISO标准字符串:{}".format(d.isoformat()))
        return d.isoformat()

    @staticmethod
    def date_to_str(d, f="%Y/%#m/%#d"):
        """日期转换为字符串"""
        logs.info("日期转换为字符串:{}".format(d.strftime(f)))
        return d.strftime(f)


if __name__ == "__main__":
    """run"""

    a = date_transform().auto("2023-08-10")
    b = date_transform().auto(datetime.date.today())
    c = date_transform().auto(datetime.datetime.now())
    d = date_transform().date_to_str_iso(datetime.datetime.now())
    logs.debug(date_transform().auto("000"))

    logs.debug(a)
    logs.debug(b)
    logs.debug(c)
    logs.debug(d)

执行结果

 

标签:转换,logs,Python,transform,datetime,日期,str,date,格式
From: https://www.cnblogs.com/phoenixy/p/17616309.html

相关文章

  • 基于Python的网上图书商城
    电子商城作为一个竞争激烈的市场销售方式,大多数电子商城的管理者都主要考虑降低成本,提升商城服务满意度。一年一度的双十一、双十二,给众多的消费者带来了购物盛宴,也给各种商城提供了巨大的销售额。本文通过调研网上图书商城的业务流程,审慎分析搭建一个基于PythonDjango的网上图书商......
  • 基于Python的京东商品信息分析
    系统设计思想京东网站是通过服务端进行数据动态展示的,这样就可以通过网页上的源代码分析网页界面上看到的数据信息,不仅如此,还可以通过在采集京东网页数据的时候,动态读取URL地址。京东页面数据更新的时候,或者读取下一页面的时候,数据显示是异步加载的。这种加载数据的方法能够实时的......
  • python语言学习-------------------xlwt模块
    xlwt模块是Python中一个用于管理Excel文件的模块,用以将数据以Excel表格的形式写入到Excel文件中。它具有操作方便、支持多种Excel文件格式等优点,因此,被广泛应用于数据处理、表格导出等方面。1.创建Excel文件使用xlwt模块创建并打开Excel文件:importxlwt#创建workbook对象w......
  • python实现创建一个银行类,这个类实现了两个方法,第一个方法可以将用户信息写入到文件中
    classbank:defuser_info(self):a=input('请输入用户信息:')#不写encoding='utf-8'中文会乱码withopen('info.txt','w',encoding='utf-8')asf:f.write(a)defget_info(se......
  • python:安装backgroundremover 0.2.4(Python 3.9.16)
    一,官方代码及文档:https://github.com/nadermx/backgroundremover二,安装backgroundremover的准备工作1,安装pytorch:https://blog.imgtouch.com/index.php/2023/08/03/rocky-linux-an-zhuang-pytorch-pytorch-2-1-python-3-9-16/2, 安装ffmpeg:https://blog.imgtouch.......
  • 使用 python 分割大的文本文件
    在开发过程中会遇到有些大文件,因为比较大,无法打开的情况,这个时候需要进行文件分割,这里使用python进行文件分割,代码如下:importosimportmathimportsysblock_size=int(sys.argv[2])*1024*1024defsplit_file(filepath:str,block_size:int):filesize=os.path.get......
  • rocky linux:安装pytorch(pytorch 2.0.1 / Python 3.9.16)
    一,pytorch官网:https://pytorch.org/如图:根据自己的需求选择版本、平台、语言环境等信息,然后运行命令二,运行pip安装命令:[root@imgbin]#pip3installtorchtorchvisiontorchaudio--index-urlhttps://download.pytorch.org/whl/cpuLookinginindexes:https://......
  • rocky linux:编译安装python3.11.4(rocky linux 9.2)
    一,查看现有的版本:1,本地版本[root@img~]#python--versionPython3.9.162,现在的最新版本:访问官网:https://www.python.org/如图:可以看到线上的最新版本是3.11.4 二,编译/安装:1,下载:先复制下载地址2,从服务器用wget命令下载:[root@imgpython]#wgethttp......
  • python:升级pip版本(Python 3.11.4)
    一,查看当前pip的版本:[[email protected]]#pip--versionpip23.1.2from/usr/local/soft/python3.11.4/lib/python3.11/site-packages/pip(python3.11)二,升级pip:[[email protected]]#python3-mpipinstall--upgradepipLookinginindexes:http://m......
  • python:升级setuptools的版本(Python 3.11.4)
    一,查看当前setuptools的版本:[[email protected]]#python3-mpipshowsetuptoolsName:setuptoolsVersion:65.5.0Summary:Easilydownload,build,install,upgrade,anduninstallPythonpackagesHome-page:https://github.com/pypa/setuptoolsAuthor:Py......