Python 日期时间模块详解(datetime)

文章目录

  • 1 概述
    • 1.1 datetime 类图
    • 1.2 类描述
  • 2 常用方法
    • 2.1 获取当前日期时间:now()、today()、time()
    • 2.2 日期时间格式化:strftime()
    • 2.3 日期时间大小比较:>、=、<
    • 2.4 日期时间间隔:-
  • 3 扩展
    • 3.1 Python 中日期时间格式化符号

1 概述

1.1 datetime 类图

在这里插入图片描述

1.2 类描述

常用类名描述取值
datetime日期时间日期 + 时间
date日期year(年)、month(月)、day(日)
time时间hour(时)、minute(分)、second(秒)、microsecond(微妙)、tzinfo(时区)
timedelta时间间隔

2 常用方法

2.1 获取当前日期时间:now()、today()、time()

from datetime import datetime
from datetime import date
from datetime import time

# datetime 子类:now()
now = datetime.now()
print(f'当前日期时间:{now}')
print(f'当前日期:{now.date()}')
print(f'当前时间:{now.time()}')
print('--------------------------')

# date 子类:today()
today = date.today()
print(f'当前日期:{today}')
print(f'当前年:{today.year}')
print(f'当前月:{today.month}')
print(f'当前日:{today.day}')
print('--------------------------')

# time 子类:
t = time(20, 13, 14)
print(f'当前时间:{t}')
print(f'当前时:{t.hour}')
print(f'当前分:{t.minute}')
print(f'当前秒:{t.second}')
print(f'当前微妙: {t.microsecond}')
print(f'当前时区:{t.tzinfo}')

执行结果(参考):

当前日期时间:2023-12-07 11:15:52.487747
当前日期:2023-12-07
当前时间:11:15:52.487747
--------------------------
当前日期:2023-12-07
当前年:2023
当前月:12
当前日:7
--------------------------
当前时间:20:13:14
当前时:20
当前分:13
当前秒:14
当前微妙: 0
当前时区:None

2.2 日期时间格式化:strftime()

from datetime import datetime
from datetime import date
from datetime import time

dt = datetime(2023, 12, 8, 20, 13, 14)
d = date(2023, 12, 8)
t = time(20, 13, 14)

# 格式化
dt_format = dt.strftime('%Y-%m-%d %H:%M:%S')
d_format = d.strftime('%Y-%m-%d')
t_format = t.strftime('%H:%M:%S')

print(f'日期时间:{dt_format}')
print(f'日期:{d_format}')
print(f'时间:{t_format}')

2.3 日期时间大小比较:>、=、<

from datetime import datetime

# 以下以 datetime 为例,其它子类同理
d1 = datetime(2023, 12, 8, 20, 13, 14)
d2 = datetime(2023, 12, 8, 20, 13, 10)

# 日期比较,返回值布尔型
print(f'd1 > d2:{d1 > d2}')
print(f'd1 = d2:{d1 == d2}')
print(f'd1 < d2:{d1 < d2}')

print(f'd1 >= d2:{d1 >= d2}')
print(f'd1 <= d2:{d1 <= d2}')
print(f'd1 != d2:{d1 != d2}')

# 等价的有
print('-------------------------')
print(f'd1 大于 d2:{d1.__gt__(d2)}')
print(f'd1 等于 d2:{d1.__eq__(d2)}')
print(f'd1 小于 d2:{d1.__lt__(d2)}')

print(f'd1 大于等于 d2:{d1.__ge__(d2)}')
print(f'd1 小于等于 d2:{d1.__le__(d2)}')
print(f'd1 不等于 d2:{d1.__ne__(d2)}')

2.4 日期时间间隔:-

from datetime import datetime
from datetime import date
from datetime import time

# 以下以 datetime 为例,其它子类同理
d1 = datetime(2023, 12, 8, 20, 13, 14)
d2 = datetime(2023, 12, 8, 20, 13, 10)

d3 = d1 - d2
# d1.__sub__(d2) # 等价于 d1 - d2

print(d3)  # timedelta 类型数据
print(d3.days)  # int 类型
print(d3.seconds)  # int 类型

3 扩展

3.1 Python 中日期时间格式化符号

格式符含义
%Y年(0000-9999)
%y年(00-99)
%m月(01 - 12)
%d日(0-31)
%H时(00-23)
%I时(01-12)
%M分(00-59)
%S秒(00-59)
%a星期的简称
%A星期的全称
%b月份的简称
%B月份的全称
%c日期和时间
%x日期(不含时间)
%X时间(不含日期)
from datetime import datetime

now = datetime.now()

# 测试
print(now.strftime('%Y-%m-%d %H:%M:%S'))
print(now.strftime('%Y'))

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java / Scala - Trie 树简介与应用实现

目录 一.引言 二.Tire 树简介 1.树 Tree 2.二叉搜索树 Binary Search Tree 3.字典树 Trie Tree 3.1 基本概念 3.2 额外信息 3.3 结点实现 3.4 查找与存储 三.Trie 树应用 1.应用场景 2.Java / Scala 实现 2.1 Pom 依赖 2.2 关键词匹配 四.总结 一.引言 Trie 树…

案例054:基于微信的追星小程序

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

安装node.js并创建第一个vue项目

目录 一&#xff0c;下载node.js 二&#xff0c;创建一个vue项目 一&#xff0c;下载node.js 1.进入官网&#xff1a;Node.js (nodejs.org) 2.选择版本 3.选择安装方式 4.运行安装包&#xff0c;下载文件 5.选择要安装的路径后一直next 6.安装完成后打开命令提示符&#xff…

PHP短信接口防刷防轰炸多重解决方案三(可正式使用)

短信接口盗刷轰炸&#xff1a;指的是黑客利用非法手段获取短信接口的访问权限&#xff0c;然后使用该接口发送大量垃圾短信给目标用户 短信验证码轰炸解决方案一(验证码类解决)-CSDN博客 短信验证码轰炸解决方案二(防止海外ip、限制ip、限制手机号次数解决)-CSDN博客 PHP短信…

推荐几款转换视频格式的好用转换工具,小白也能上手

视频格式转换工具是一种专门转换视频的软件&#xff0c;可让你将一种视频格式转换为另一种视频格式&#xff08;例如&#xff0c;MOV 到 MP4&#xff09;&#xff0c;通常可以节省空间。 本文将介绍一些用于转换视频格式的好用转换工具&#xff0c;并且详细描述了它们的主要功…

【FPGA】数字电路设计基础

数字电路基础 1 什么是数字电路 在学习数字电路之前&#xff0c;我们先要了解下什么是数字电路。想要搞明白数字电路&#xff0c;就要搞明白生活中有 两种概念&#xff0c; 数字信号和模拟信号&#xff0c;模拟信号一般包括压力、气温、速度等信号&#xff0c;模拟量的值是可…

智能成绩表 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题目描述 小明来到某学校当老师,需要将学生按考试总分或单科分数进行排名,你能帮帮他吗? 输入描述 第1行输入两个整数,学生人数n和科目数量m。0<n<100,0<m<10 第2行输入m个科目名称,彼此之间用空格隔开。科目名称只由英文…

这书看着贼得劲儿

作者呕心沥血2年&#xff0c;再出力作~~~ 给大家推荐一本好玩的书 神经网络与TensorFlow 本来以为出版了第一本书&#xff0c;应该对于漫长的审核有免疫力了&#xff0c;结果又被这本书折磨了2年。于是作者痛定思痛&#xff0c;决定第三本书写一本纯科普的书籍。 墙裂推荐 这…

跨境电商危机公关:应对负面舆情的策略优化

随着跨境电商的快速发展&#xff0c;企业在全球市场中面临的竞争与挑战也日益复杂。在这个数字时代&#xff0c;负面舆情一旦爆发&#xff0c;可能对企业形象和经营造成深远影响。 因此&#xff0c;跨境电商企业需要建立有效的危机公关策略&#xff0c;以迅速、果断、有效地应…

Python集合魔法:解锁数据去重技巧

. 在Python编程的魔法世界中&#xff0c;有一种数据类型几乎被忽视&#xff0c;但却拥有强大的超能力&#xff0c;那就是集合&#xff08;Set&#xff09;。 集合是一种无序、唯一的数据类型&#xff0c;它以其独特的特点在编程世界中独占一席之地。 1. 集合的定义和特点 集…

Quantlib环境安装踩坑记录

1.conda 安装python3.7环境&#xff1b; 2.因为torch1.8.2环境已经被弃用&#xff0c;所以通过nvidia-smi命令确认cuda版本是11.6后进入环境&#xff0c; 输入pip install torch1.12.0cu116 torchvision0.13.0cu116 torchaudio0.12.0 torchtext0.13.0 --extra-index-url https:…

第二证券:股债跷跷板是什么?投资者该如何应对?

股市和债市虽然是两个不同的证券交易商场&#xff0c;但它们之间保持着一定的联系&#xff0c;比较典型的&#xff0c;便是股债商场间的联动&#xff0c;也称为股债跷跷板。股债跷跷板是什么&#xff1f;出资者该怎样应对&#xff1f;关于这些&#xff0c;本文将借用相关知识作…

基于SSM框架的购物商城系统论文

摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和管理就很关键。因此商城购物信息的…

多屏模式输入法可以正确切换屏幕展示原理剖析

背景 hi&#xff0c;粉丝朋友们&#xff1a; 近期有个学员问到了一个输入法相关问题。刚好梳理了一下输入法相关的在多屏模式的一个展示流程&#xff0c;这里做个记录&#xff0c;也相当于深入理解窗口相关的一篇干货blog。 如上面两幅图展示&#xff0c;输入法可以自由自在显…

从零开始,利用ChatGPT学会写作的完整指南

文章目录 前言了解ChatGPT访问OpenAI平台使用ChatGPT进行简单的对话定义写作主题逐步生成文章段落添加个性化和细节编辑和润色反复修改直至满意 图书推荐内容简介作者简介获取方式 前言 在数字时代&#xff0c;人工智能技术日益成熟&#xff0c;为我们提供了全新的学习和创作机…

使用@Validated注解导致Controller里注入的Service为空

2023年12月7日 今天在写接口参数校验时遇到一个问题&#xff0c;将注解Validated写在Controller上时导致导入的Service为空 Controller代码 Validated RestController RequestMapping("test") public class TestController {Autowiredprivate TestService testServ…

多人相互聊天

服务端 import java.io.*; import java.net.*; import java.util.ArrayList; public class Server{public static ServerSocket server_socket;public static ArrayList<Socket> socketListnew ArrayList<Socket>(); public static void main(String []args){try{…

Python读写txt文件数据

&#x1f388; 博主&#xff1a;一只程序猿子 &#x1f388; 博客主页&#xff1a;一只程序猿子 博客主页 &#x1f388; 个人介绍&#xff1a;爱好(bushi)编程&#xff01; &#x1f388; 创作不易&#xff1a;如喜欢麻烦您点个&#x1f44d;或者点个⭐&#xff01; &#x1f…

Java语言中的修饰符

-----------------------------------------------01----------------------------------------------- 类&#xff0c;方法&#xff0c;成员变量和局部变量的可用修饰符 访问控制级别分类&#xff1a; 公开级别&#xff0c;受保护级别&#xff0c;默认级别&#xff0c;私有级…

Java包(package)

1、概念 为了更好的组织类&#xff0c;用于区别类名的命名空间&#xff0c;其实就是基于工程的一个文件路径&#xff0c;如&#xff1a; 2、作用 三个作用&#xff1a; 1&#xff09;区分相同名称的类。 2&#xff09;能够较好地管理大量的类。 3&#xff09;控制访问范围。 在…