Python 进阶(四):日期和时间(time、datetime、calendar 模块)

news2024/9/27 21:27:13

在这里插入图片描述

❤️ 博客主页:水滴技术
🌸 订阅专栏:Python 入门核心技术
🚀 支持水滴:点赞👍 + 收藏⭐ + 留言💬

文章目录

  • 1. time模块
    • 1.1 获取当前时间
    • 1.2 时间休眠
    • 1.3 格式化时间
  • 2. datetime模块
    • 2.1 获取当前日期和时间
    • 2.2 格式化日期和时间
    • 2.3 计算时间差
  • 3. calendar模块
    • 3.1 获取某个月的日历
    • 3.2 判断某一年是否为闰年
  • 4. 总结
  • 系列文章
  • 热门专栏


大家好,我是水滴~~

.Python中的日期和时间操作是一个非常常见的任务,Python内置了多个日期和时间相关的模块,使得我们可以非常方便地进行日期和时间的处理。在本教程中,我们将介绍Python中常用的日期和时间模块,以及它们的基本用法。

1. time模块

time模块是Python中最基本的日期和时间模块之一,它提供了很多有用的函数,如获取当前时间、休眠等。下面是一些常用的time模块函数。

1.1 获取当前时间

要获取当前时间,可以使用time.time()函数,这个函数返回当前时间的时间戳,时间戳是一个浮点数,表示自1970年1月1日0时0分0秒以来的秒数。

import time

timestamp = time.time()
print(timestamp)

输出结果类似于:1627612438.914375

1.2 时间休眠

time.sleep()函数可以让程序休眠指定的时间。这个函数接受一个参数,表示休眠的时间长度(单位为秒)。

import time

print("Start")
time.sleep(3)
print("End")

程序会在输出Start后休眠3秒钟,然后再输出End

1.3 格式化时间

time模块还提供了localtime()strftime()函数,用于将时间戳转换为可读的日期和时间格式。

time.localtime()函数将时间戳转换为本地时间的元组(包括年、月、日、时、分、秒等信息)。

import time

timestamp = time.time()
local_time = time.localtime(timestamp)
print(local_time)

输出结果类似于:time.struct_time(tm_year=2021, tm_mon=7, tm_mday=30, tm_hour=14, tm_min=10, tm_sec=24, tm_wday=4, tm_yday=211, tm_isdst=0)

time.strftime()函数将时间元组转换为指定格式的字符串。

import time

timestamp = time.time()
local_time = time.localtime(timestamp)
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print(formatted_time)

输出结果类似于:2021-07-30 14:10:24

2. datetime模块

datetime模块是Python中高级的日期和时间模块。它提供了datetimedatetime三个类,分别用于处理日期、时间和日期时间。

2.1 获取当前日期和时间

要获取当前日期和时间,可以使用datetime.datetime.now()函数,这个函数返回一个datetime对象,表示当前日期和时间。

import datetime

now = datetime.datetime.now()
print(now)

输出结果类似于:2021-07-30 14:10:24.180375

2.2 格式化日期和时间

datetime对象可以通过strftime()方法来格式化日期和时间。

import datetime

now = datetime.datetime.now()
formatted_datetime = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_datetime)

输出结果类似于:2021-07-30 14:10:24

2.3 计算时间差

datetime模块还提供了timedelta类,用于计算时间差。

import datetime

now = datetime.datetime.now()
future_date = now + datetime.timedelta(days=7)
time_diff = future_date - now
print(time_diff)

这个程序会计算从当前日期开始,再过7天的日期,然后计算这两个日期之间相差的时间。输出结果类似于:7 days, 0:00:00

3. calendar模块

calendar模块提供了与日历相关的函数和类,如获取某个月份的日历、判断某一年是否为闰年等。

3.1 获取某个月的日历

要获取某个月的日历,可以使用calendar.month()函数。

import calendar

cal = calendar.month(2021, 7)
print(cal)

输出结果类似于:

     July 2021
Mo Tu We Th Fr Sa Su
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

3.2 判断某一年是否为闰年

要判断某一年是否为闰年,可以使用calendar.isleap()函数。

import calendar

is_leap_year = calendar.isleap(2021)
print(is_leap_year)

输出结果为False,因为2021年不是闰年。

4. 总结

在Python中,日期和时间的处理非常简单,只需要使用内置的日期和时间模块,就可以轻松地进行各种日期和时间操作。time模块提供了基本的时间函数,例如获取当前时间、时间休眠和格式化时间等。datetime模块提供了更高级的日期和时间类,可以方便地进行日期和时间的计算和操作。calendar模块提供了与日历相关的函数和类,可以方便地进行日期和时间的查询和判断。掌握这些模块的基本用法,可以让我们更加高效地进行日期和时间的处理。


系列文章

🔥 Python 进阶(一):PyCharm 下载、安装和使用
🔥 Python 进阶(二):操作字符串的常用方法
🔥 Python 进阶(三):正则表达式(re 模块)

热门专栏

👍 《Python入门核心技术》
👍 《IDEA 教程:从入门到精通》
👍 《Java 教程:从入门到精通》
👍 《MySQL 教程:从入门到精通》
👍 《大数据核心技术从入门到精通》

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

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

相关文章

【Docker】Docker应用部署之Docekr容器安装Nginx

目录 一、搜索镜像 二、拉取镜像 三、创建容器 四、测试使用 一、搜索镜像 docker search nginx 二、拉取镜像 docker pull nginx # 不加冒号版本号 默认拉取最新版 三、创建容器 首先我们需要在宿主机创建数据卷目录 mkdir nginx # 创建目录 cd nginx # 进入目录 mkd…

【SAP Abap】记录一次SAP长文本内容通过Web页面完整显示的应用

【SAP Abap】记录一次SAP长文本内容通过Web页面完整显示的应用 1、业务背景2、实现效果3、开发代码3.1、拼接html3.2、显示html3.3、ALV导出Excel 1、业务背景 业务在销售订单中,通过长文本描述,记录了一些生产备注信息,如生产标准、客户要求…

【Java面试丨企业场景】常见技术场景

一、单点登录怎么实现的 1. 介绍 单点登录(Single Sign On,SSO):只需要登录一次,就可以访问所有信任的应用系统 2. 解决方案 JWT解决单点登录问题 用户访问应用系统,会在网关判断Token是否有效如果Tok…

位运算 剑指offer15 二进制中1的个数 搜索算法:55-II 平衡二叉树 数值的整数次方 39数组中出现次数超过一半的数字

可能会引起死循环的解法: 看最右边一位是不是1,然后将输入的整数右移一位,再判断最右边一位(即倒数第二位)是否为1,接着再右移,知道整数移动到0为止 这个解法,把整数右移一位和把整数…

mfc140u.dll丢失怎样修复?这三个方法的可以修复

最近遇到了mfc140u.dll丢失的问题,让我感到非常困扰。在使用某个软件时,突然弹出了一个错误提示,说是mfc140u.dll文件不存在,导致该软件无法正常运行。一开始我并不知道这个文件是什么,也不知道为什么会丢失。于是我开…

7.29训练总结

CodeForces - 1609E 这种使得整个串不包含子串’abc’的题目&#xff0c;发现可以用线段树维护 #include<bits/stdc.h> using namespace std; const int maxn1e55; #define lson now<<1 #define rson now<<1|1 struct seg {int a,b,c;int ab,bc,abc; }tr[m…

使用开源免费AI绘图工具神器-Stable Diffusion懒人整合包

使用开源免费AI绘图工具神器-Stable Diffusion懒人整合包 Stable Diffusion 是什么 Stable Diffusion (简称 SD) 是一款开源免费的以文生图的 AI 扩散模型&#xff0c;它和付费的 Midjourney 被人称为当下最好用的 AI 绘画工具。你在网上看到的绝大多数优秀 AI 图片作品&…

智能垃圾桶

1.树莓派3B引脚图 2. 原理图 3.舵机线图 搜了这个这么多3b的资料&#xff0c;自己只是想解决如何下程序和运行程序的博客&#xff0c;网上搜集的资料全是讲如何通过SSH或者网线连接树莓派&#xff0c;通过直接连接屏幕的教程较少。 棕 : GND 红 : VCC 黄&#xff1a; 信号线…

【Ubuntu系统18.04虚拟机ros下实现darknet_ros(YOLO V3)检测问题解析最全】

原本打算在搭载Ubuntu18.04的智能小车上面运行使用darknet_ros 包来进行yolov3的检测&#xff0c;但是运行过程中遇到了不少问题&#xff0c;从头到尾部的运行包括遇到的解决方法以及对应的文章一并列出&#xff0c;免得到处查找。 首先是在ROS下实现darknet_ros(YOLO V3)检测…

127.【SpringBoot 源码刨析D】

SpringBoot 源码刨析D (三)、SpringBoot 核心功能4.单元测试功能(1).JUnit5 的变化(2).JUnit5常用注解(3).断言&#xff08; assertions &#xff09;(3.1).简单断言(3.2).数组断言(3.3).组合断言(3.4).异常断言(3.5).超时断言(3.6).快速失败 (4).前置条件&#xff08; assumpt…

【小白必看】Python爬虫实战之批量下载女神图片并保存到本地

文章目录 前言运行结果部分图片1. 引入所需库2. 发送请求获取网页内容3. 解析网页内容并提取图片地址和名称4. 下载并保存图片完整代码关键代码讲解 结束语 前言 爬取网络上的图片是一种常见的需求&#xff0c;它可以帮助我们批量下载大量图片并进行后续处理。本文将介绍如何使…

如何选择台式还是便携式多参数水质检测仪呢

选择台式还是便携式多参数水质检测仪主要取决于具体的使用需求和场景。 1.便携式多参数水质检测仪适用于需要在不同地点进行水质检测的情况&#xff0c;例如户外采样、实地调查等。它具有小巧轻便的特点&#xff0c;方便携带和操作&#xff0c;适合需要频繁移动或需要灵活使用的…

深入解析Linux进程内存:VSS、RSS、PSS、USS及查看方式

VSS 虚拟耗用内存大小&#xff0c;是进程可以访问的所有虚拟内存的总量&#xff0c;包括进程独自占用的物理内存、和其他进程共享的内存、分配但未使用的内存。 RSS 驻留内存大小&#xff0c;是进程当前实际占用的物理内存大小&#xff0c;包括进程独自占用的物理内存、和其…

bootstrap入门到精通

官网&#xff1a;列表组 - Bootstrap框架 (bootstrapdoc.com) 菜鸟教程&#xff1a;Bootstrap 列表组 | 菜鸟教程 (runoob.com) 1.什么是bootstrap bootstrap是一个用于快速开发web应用程序和网站的前端框架。基于HTML、CSS和JavaScript封装 响应式 ElementUI 更适合用于企…

WIZnet W5500-EVB-Pico DHCP 配置教程(三)

DHCP协议介绍 什么是DHCP&#xff1f; 动态主机配置协议DHCP&#xff08;Dynamic Host Configuration Protocol&#xff09;是一种网络管理协议&#xff0c;用于集中对用户IP地址进行动态管理和配置。 DHCP于1993年10月成为标准协议&#xff0c;其前身是BOOTP协议。DHCP协议由R…

Spring源码(五)— 解析XML配置文件(一) bean标签解析流程

前面几章的内容已经介绍了BeanFactory创建前的准备工作&#xff0c;以及加载XML配置文件前的准备的步骤。本章会着重介绍解析XML的步骤。 registerBeanDefinitions 前几个方法不做过多的赘述&#xff0c;着重看registerBeanDefinitions方法中解析XML的步骤。 public int regi…

C++ 多进程学习总结

C多进程 进程间通信 消息队列 消息队列&#xff1a;提供一个种进程间发送/接收数据块&#xff08;常为结构体数据&#xff09;的方法。 函数接口 ftok()&#xff1a;获取消息队列键值msgget()&#xff1a;创建和访问消息队列msgsnd()&#xff1a;向消息队列发送数据msgrcv…

罗布乐思Roblox学习笔记

罗布乐思 文章目录 罗布乐思基本操作CFrameGUIModule script呼吸灯商店imageChangetag标签知识答题showTips 基本操作 缩放按shift 等比例缩放 ctrl 双向缩放 复制对象 ctrlD &#xff08;如果选择多个对象&#xff0c;按住ctrl&#xff09; F 聚焦 Workspace ​ Terrain…

看完这篇文章,你还会用再用AUTOMATIC1111 WebUI吗?

​说起 AUTOMATIC1111 的 Stable diffusion-wbui 这个项目&#xff0c;使用过Stable diffusion的人应该无人不知吧&#xff0c;网络上基本一边倒的在使用他家的项目&#xff0c;而且fork量和star量还不小&#xff1a; 但是AUTOMATIC1111 这个名字总给我一些不靠谱的感觉&#x…

【C++】多态、黑马程序员案例— —电脑组装、Visual Studio开发人员工具查看内部结构,cl /d1 reportSingleClassLayout

author&#xff1a;&Carlton tag&#xff1a;C topic&#xff1a;【C】多态、黑马程序员案例— —电脑组装、Visual Studio开发人员工具查看内部结构,cl /d1 reportSingleClassLayout website&#xff1a;黑马程序员C date&#xff1a;2023年7月24日 目录 纯虚函数、抽…