热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python_datetime库日常操作

0x00获取当前日期时间datetime库使用datetime.datetime.now()方法或datetime.datetime.today()来获得当前的时间,

0x00 获取当前日期时间

datetime库使用datetime.datetime.now()方法或datetime.datetime.today()来获得当前的时间,并使用方法strftime将获得的串转换为字符类型,此时可以以固定格式输出。
其用法为:

import datetime
time1 = datetime.datetime.now()
time2 = datetime.datetime.today()
#time1与time2都含有day,year,hour等成员,可独立输出
time1.strftime('%Y-%m-%d %H:%M:%S')#括号中参数为格式化类型

格式列表为:

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

相应的,也阔以将一个str类型的自定义的日期转换为datetime类型,使用方法datetime.datetime.strptime(),其用法为:

T_time = '2018-12-12 16:00:00'
time = datetime.datetime.strptime(T_time,'%Y-%m-%d %H:%M:%S')

获得一个datetime类型的日期。需要注意的是,如果输出时没有指定前面的%Y-%m-%d,会以默认格式输出;如果转换时只有时间没有日期,则会将初始时间1900-01-01输出。

0x01获取当前日期,以及日期的计算

获取当前日期可以使用datetime.date.today()方法,与获取日期时间的方法相同,同样也包含了year、month、day几个成员,可以单独输出。
当我们需要进行日期的计算时,用到了timedelta方法,timedelta函数原型为:

datetime.timedelta(days=0, secOnds=0, microsecOnds=0, millisecOnds=0, minutes=0, hours=0, weeks=0)

其中成员分别为:


days
seconds
microseconds 微秒
milliseconds 毫秒
minutes
hours
weeks 7天


计算明天的日期:

tomorrow = datetime.date.today() + datetime.timedelta(days = 1)
print tomorrow

计算一小时后的时间:

hours_later = datetime.datetime.now() + datetime.timedelta(hous = 1)
print hours_later

通过strptime方法计算任意两个日期相差多少天:

T_time1 = '2019-2-22'
T_time2 = '2019-1-22'
day1 = datetime.datetime.strptime(T_time1,'%Y-%m-%d')
day2 = datetime.datetime.strptime(T_time2,'%Y-%m-%d')
print (day1 - day2).days

0x0x3

上文Python与Excle交互应用实践(openpyxl与xlwings裤)
中从excle中读取到的日期类型数据也阔以转换为str类型,从而与任何日期比较,可能是当时没有想到吧,还是需要不断的积累,才可以不懵。。。。小错误小错误


执行结果


推荐阅读
  • 本文详细解析了如何使用Python语言在STM32硬件平台上实现高效的编程和快速的应用开发。通过具体的代码示例,展示了Python简洁而强大的特性。 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • python时间序列之ADF检验(1)
    读取数据,pd.read_csv默认生成DataFrame对象,需将其转换成Series对象DataFrame和Series是pandas中最常见的2 ... [详细]
  • 本文探讨了在使用Python进行多进程编程时遇到的退出异常问题,并提供了一种有效的解决方案。尤其针对大量数据和高并发场景下的异常退出情况进行了优化。 ... [详细]
  • 本文探讨了如何在Python中计算两个给定时间字符串(格式为HH:MM:SS)之间的时间差,并提供了详细的代码示例及解决方案。 ... [详细]
  • 关于进程的复习:#管道#数据的共享Managerdictlist#进程池#cpu个数1#retmap(func,iterable)#异步自带close和join#所有 ... [详细]
  • 在处理大规模并发请求时,传统的多线程或多进程模型往往无法有效解决性能瓶颈问题。尽管它们在处理小规模任务时能提升效率,但在高并发场景下,系统资源的过度消耗和上下文切换的开销会显著降低整体性能。相比之下,Python 的 `asyncio` 模块通过协程提供了一种轻量级且高效的并发解决方案。本文将深入解析 `asyncio` 模块的原理及其在实际应用中的优化技巧,帮助开发者更好地利用协程技术提升程序性能。 ... [详细]
  • 在Python 2.7环境中使用PyCharm进行Cvxopt的安装及线性规划问题求解。具体步骤包括:通过PyCharm的文件菜单进入项目设置,选择解释器选项,点击右侧的“+”按钮,在可用包列表中搜索并安装Cvxopt。安装完成后,可以通过导入Cvxopt库并调用其函数来解决线性规划问题,提高模型的准确性和效率。 ... [详细]
  • 在Python中,可以通过导入 `this` 模块来优雅地展示“Python之禅”这一编程哲学。该模块会将这些指导原则以一种美观的方式输出到控制台。为了增加趣味性,可以考虑在代码中对输出内容进行简单的加密或混淆处理,以提升用户体验。 ... [详细]
  • 基于PythonOCC库,本文探讨了如何实现对曲线边(TopoDS_Edge)进行等间距周长分割的分析方法及其应用。通过使用BRepGProp模块中的线性属性计算功能,我们能够精确地将曲线分割成多个等长段,从而为后续的几何建模和工程应用提供基础支持。该方法不仅提高了曲线处理的效率,还增强了模型的准确性和可靠性。 ... [详细]
  • Pyhotn3基础笔记(上卷)吉多范罗苏姆(GuidovanRossum)一.解释器Python的解释器如今有多个语言的实现,包括&#x ... [详细]
  • 2022年Python面试题一.Python基础二.企业面试题结束语🥇🥇🥇✅作者简介:大家好我是编程IDὌ ... [详细]
  • 为什么python是动态类型语言_Python 3.7.0 面向对象的动态类型语言
    代表Python开发社区和Python3.7发布团队,我们很高兴地宣布https:www.python.orgdownloadsreleasepython-370 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有