【Python】日期和时间模块

news2024/11/16 13:04:51

在这里插入图片描述


个人主页:【😊个人主页】
系列专栏:【❤️Python】


文章目录

  • 前言
  • 时间元组
  • datetime 模块
    • datetime类
      • 获取当前日期和时间
    • timedelta类
      • 日期和时间运算
    • strftime()方法
      • 格式化
      • 时间日期格式化符号
    • strptime()方法
  • Time 模块
    • Time 模块内置函数
    • Time 模块两个重要属性
  • 日历(Calendar)模块
      • 打印日历
      • 判断是否为闰年
    • 日历模块内置函数


前言

试想一下,当我们想为我们的程序添加显示时间的功能或者我们想要实现在程序中获取当前时间,这个时候,时间模块就是我们不可绕开的话题,日期和时间的处理通常也是我们学习一门语言的重难点,但很可惜在大多Python教材中都忽略这一知识点,有些甚至并未提及,事实上,Python 程序能用很多方式处理日期和时间,今天我们就来详细的介绍一下Python中的日期和时间模块。想了解更多Python内容请订阅内容【Python系列教程】

在这里插入图片描述


时间元组

时间元组(也称为结构时间)是一个表示时间的元组,它包含了九个元素,分别表示年、月、日、时、分、秒、一周中的第几天、一年中的第几天以及夏令时(通常为-1,表示不是夏令时)。时间元组是由time模块中的localtime()、gmtime()等函数返回的,也可以直接使用一个包含九个元素的元组来表示。
在这里插入图片描述
我们可以使用time.localtime()函数获取当前时间的时间元组:

import time  
# 获取当前时间的时间元组  
current_time_tuple = time.localtime()  
print("当前时间的时间元组:", current_time_tuple)

在这里插入图片描述
同样的我们可以通过一个包含九个元素的元组来直接创建一个时间元组:

# 创建一个时间元组表示2023年4月1日12时0分0秒  
time_tuple = (2023, 4, 1, 12, 0, 0, 5, 91, -1)  
print("创建的时间元组:", time_tuple)

在这里插入图片描述
在这里插入图片描述

datetime 模块

datetime类

datetime类datetime库中最重要的类之一,它表示一个日期和时间的对象。datetime类包含了年、月、日、时、分、秒等属性,可以通过对象的属性获取具体的日期和时间信息。

  • date:表示日期(年、月、日)
  • time:表示时间(时、分、秒、微秒)
  • datetime:表示日期和时间
  • timedelta:表示两个日期或时间之间的差异

获取当前日期和时间

from datetime import datetime
# 获取当前日期和时间  
now = datetime.now()  
print("当前日期和时间:", now)  

在这里插入图片描述

from datetime import datetime
cur_datetime = datetime.now()
print("当前日期和时间:", cur_datetime)
print("当前年份:", cur_datetime.year)
print("当前月份:", cur_datetime.month)
print("当前日期:", cur_datetime.day)
print("当前小时:", cur_datetime.hour)
print("当前分钟:", cur_datetime.minute)
print("当前秒数:", cur_datetime.second)

在这里插入图片描述

timedelta类

timedelta类表示两个日期或时间之间的差异,可以用于日期和时间的计算。可以通过timedelta类的属性和方法进行日期和时间的加减操作。

日期和时间运算

from datetime import datetime, timedelta

# 获取当前日期和时间
now = datetime.now()
print("当前日期和时间:", now)
one_day = timedelta(days=1)
yesterday = now - one_day
tomorrow = now + one_day
# 日期和时间运算
one_week = timedelta(weeks=1)
print("一周后的日期:", now + one_week)
print("昨天的日期和时间:", yesterday)
print("明天的日期和时间:", tomorrow)

在这里插入图片描述

strftime()方法

strftime()方法将datetime对象转换为指定格式的字符串。可以通过指定格式化字符串来获取不同精度的日期和时间信息。

time.strftime(format[, t])

格式化

import time
# 格式化成2016-03-20 11:45:39形式
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
# 格式化成Sat Mar 28 22:24:24 2016形式
print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))
# 将格式字符串转换为时间戳
a = "Sat Mar 28 22:24:24 2016"
print(time.mktime(time.strptime(a, "%a %b %d %H:%M:%S %Y")))

在这里插入图片描述

时间日期格式化符号

在这里插入图片描述

strptime()方法

strptime()方法将字符串解析为datetime对象。可以通过指定解析字符串的格式,将字符串转换为datetime对象

from datetime import datetime

date_string = "2024-07-13 12:34:56"
parsed_datetime = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print("解析后的日期和时间:", parsed_datetime)

在这里插入图片描述

Time 模块

time模块提供了各种与时间相关的函数。它主要用于底层的时间操作,比如获取当前时间戳、格式化时间和解析时间字符串等。

import time  
# 获取当前时间戳  
timestamp = time.time()  
print("当前时间戳:", timestamp)  
# 格式化当前时间  
formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())  
print("格式化后的时间:", formatted_time)

在这里插入图片描述

Time 模块内置函数

在这里插入图片描述

Time 模块两个重要属性

在这里插入图片描述

日历(Calendar)模块

calendar模块提供了处理年历和月历的函数,比如生成一个月的日历、判断某年是否是闰年等。
注:星期一是默认的每周第一天,星期天是默认的最后一天。更改设置需调用calendar.setfirstweekday()函数

打印日历

import calendar
cal = calendar.month(2016, 1)
print("以下输出2016年1月份的日历:")
print(cal)

在这里插入图片描述

判断是否为闰年

import calendar  
# 判断2024年是否是闰年  
is_leap = calendar.isleap(2024)  
print("2024年是闰年吗?", is_leap)  

在这里插入图片描述

日历模块内置函数

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

牛客小白月赛98 (个人题解)(待补完)

前言: 昨天晚上自己一个人打的小白月赛(因为准备数学期末已经写烦了),题目难度感觉越来越简单了(不在像以前一样根本写不了一点,现在看题解已经能看懂一点了),能感受到自己在不断进步…

LLM基础模型系列:Prompt-Tuning

------->更多内容&#xff0c;请移步“鲁班秘笈”&#xff01;&#xff01;<------ 大型预训练语言模型的规模不断扩大&#xff0c;在许多自然语言处理 &#xff08;NLP&#xff09; 基准测试中取得了最先进的结果。自GPT和BERT开发以来&#xff0c;标准做法一直是在下游…

802.11ax RU - 传输的最小单元

子载波 无线信号是加载在某个固定频率上进行传输的&#xff0c;这个频率被称为载波。802.11标准中&#xff0c;对传输频率有更新的划分&#xff0c;而这些划分的频率被称为子载波。Wi-Fi 6中&#xff0c;以20Mhz信道为例&#xff0c;20Mhz信道被划分成256个子载波&#xff0c;…

Go-知识测试-子测试

Go-知识测试-子测试 1. 介绍2. 例子3. 子测试命名规则4. 选择性执行5. 子测试并发6. testing.T.Run7. testing.T.Parallel8. 子测试适用于单元测试9. 子测试适用于性能测试10. 总结10.1 启动子测试 Run10.2 启动并发测试 Parallel 建议先看&#xff1a;https://blog.csdn.net/a…

LinK3D: Linear Keypoints Representation for 3D LiDAR Point Cloud【翻译与解读】

LinK3D: Linear Keypoints Representation for 3D LiDAR Point Cloud 摘要 特征提取和匹配是许多机器人视觉任务的基本组成部分&#xff0c;如 2D 或 3D 目标检测、识别和配准。2D 特征提取和匹配已取得巨大成功。然而&#xff0c;在 3D 领域&#xff0c;当前方法由于描述性差…

手机大模型能否撑起“全村的希望”?

2023年&#xff0c;ChatGPT、SD的火爆带火了AI赛道。但现有的AI痛点则是&#xff1a;操作复杂&#xff0c;需要网络&#xff0c;大家对本地AI的呼声越来越高。也因此产生了AI PC和手机上装上大模型。手机上装大模型&#xff0c;确实会对现在低迷的手机市场带来一些影响&#xf…

链路追踪系列-02.演示zipkin

当本机启动docker es zipkinServer之后&#xff1a; 启动3个项目&#xff1a;先eureka-server&#xff0c;再 PaymentMain8001,… 浏览器打开&#xff1a;http://localhost:9001/consumer/payment/zipkin consumer代码 &#xff1a; provider: 此时查询es:

安全防御----防火墙综合实验2

安全防御----防火墙综合实验2 一、题目 二、实验要求&#xff1a; 1&#xff0c;DMZ区内的服务器&#xff0c;办公区仅能在办公时间内&#xff08;9&#xff1a;00 - 18&#xff1a;00&#xff09;可以访问&#xff0c;生产区的设备全天可以访问. 2&#xff0c;生产区不允许访…

微积分-导数7(关联变化率)

例一 空气被充入一个球形气球中&#xff0c;使其体积以每秒100立方厘米的速度增加。当气球的直径为50厘米时&#xff0c;气球半径的增加速度是多少&#xff1f; 解答&#xff1a;球体的体积公式为 V 4 3 π r 3 V \frac{4}{3}\pi r^3 V34​πr3 为了使用给定的信息&#x…

Java中标识符和关键字

1.标识符 public class HelloWorld{public static void main(String[] args){System.out.println("Hello,world");} }上述代码中在public class 后面的HelloWorld称为类名&#xff0c;main称为方法名&#xff0c;也可以将其称为标识符&#xff0c;即&#xff1a;在程…

数组和对象的解构

1.解构的理解 解构是ES6提供的一种新提取数据的模式&#xff0c;它允许我们从数组或对象中有针对性拿到想要的数据。这种方式让数据访问和赋值变得更加简洁和直观。 2.数组的解构 数组解构允许直接从数组中提取值&#xff0c;并将这些值赋给声明的变量。这避免了使用索引来访…

802.11be MRU - 多资源单元

Wi-Fi 6中引入了OFDMA技术&#xff0c;频率资源以RU(Resource Unit)为粒度进行分配&#xff0c;Wi-Fi 6中支持26/52/106/242/484/996/2x996 Tone共计7种RU。Wi-Fi 7由于引入了320MHz 信道&#xff0c;则会多一种RU类型。不同信道带宽下&#xff0c;不同类型RU的数量如下图所示。…

通用型I2C接口的应用之综合应用(N32G45XVL-STB)

通用型I2C接口的应用之综合应用&#xff08;N32G45XVL-STB&#xff09; 目录 概述 1 软硬件接口 1.1 硬件接口 1.2 开发软硬件信息 1.3 SHT-20模块电路 1.4 0.9寸OLED模块介绍 2 驱动接口实现 2.1 SHT20驱动接口 2.2 OLED驱动接口 3 应用接口实现 3.1 软件框架 3.…

捷配笔记-PCB阻焊颜色对产品有什么影响?

阻焊层也称为阻焊层或阻焊剂。它是一种薄的聚合物层&#xff0c;应用于&#xff08;PCB&#xff09;。阻焊层的目的是保护PCB表面&#xff0c;并有助于防止焊桥。焊桥是两个导体之间的无意连接&#xff0c;通常是由于存在一小块焊料。需要注意的是&#xff0c;阻焊层被视为其单…

SSM整合及使用

SSM整合 介绍 SSM&#xff08;SpringSpringMVCMyBatis&#xff09;框架集由Spring、MyBatis两个开源框架整合而成&#xff08;SpringMVC是Spring中的部分内容&#xff09;&#xff0c;常作为数据源较简单的web项目的框架。 步骤 SSM整合主要是将各个框架的核心组件都交给sprin…

【机器学习】和【人工智能】在航空航天中的应用

作者主页: 知孤云出岫 目录 引言机器学习和人工智能在航空航天中的应用1. 预测性维护2. 飞行路径优化3. 自动驾驶飞行器 未来展望1. 增强人机协作2. 更智能的空中交通管理3. 高效的航空制造 结论参考文献 引言 随着科技的迅猛发展&#xff0c;机器学习和人工智能&#xff08;…

Goland 通道

channel通道 目录 channel通道 channel介绍 channel基本使用 有缓存通道和无缓存通道的区别 通道的初始化&#xff0c;写入数据到通道&#xff0c;从通道读取数据及基本的注意事项 channel的关闭和遍历 channel的关闭 为什么关闭 如何优雅地关闭通道 channel的遍历 chan…

亚马逊插件安装教程,新手必学的两个选品步骤

亚马逊插件安装教程&#xff0c;跟卖新手必学&#xff0c;选品两个步骤。 大家好&#xff0c;今天讲下erp的插件下载和跟卖采集。erp更新到13.8版本了。 点击右上角的插件下载&#xff0c;已经下载到桌面了&#xff0c;已被压缩。 点击设置&#xff0c;选择扩展&#xff0c;…

python-亲和数(赛氪OJ)

[题目描述] 古希腊数学家毕达哥拉斯在自然数研究中发现&#xff0c;220 的所有真约数(即不是自身的约数)之和为&#xff1a; 1245101120224455110&#xff1d;284 。 而 284 的所有真约为 1 、 2 、 4 、 71 、 142 &#xff0c;加起来恰好为 220 。人们对这样的数感到很惊奇&a…

【研路导航】重庆大学计算机保研面试真题分享交流

写在前面 在保研的道路上&#xff0c;面试是非常重要的一环。这里是成功保研到重庆大学的学长的计算机保研面试的部分真题及详细解答 ! Q 快速排序和合并排序&#xff1a; 快速排序(quicksort) 和合并排序(merge sort) 两种方法都将输入的待排序序列划分为2个子序列&#xf…