python入门学习笔记之time & datetime 模块

python常用模块之time和datetime模块 Python中有两个模块可以完成时间操作:time和datetime,其中time有这几种方式来表示时间: 1. 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 2. 格式化的时间字符串(Format String) 3. 结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天, 阅读详情

本节重点:

  • 使学员掌握time and datetime模块的使用

本节时长需控制在25分钟内

time & datetime 模块

在平常的代码中,我们常常需要与时间打交道。在Python中,与时间处理有关的模块就包括:time,datetime,calendar(很少用,不讲),下面分别来介绍。

在开始之前,首先要说明几点:

一、在Python中,通常有这几种方式来表示时间:

  1. 时间戳
  2. 格式化的时间字符串
  3. 元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。

二、几个定义

UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。DST(Daylight Saving Time)即夏令时。

时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。

元组(struct_time)方式:struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime()。下面列出这种方式元组中的几个元素:

索引(Index)    属性(Attribute)    值(Values)
0     tm_year(年)                 比如2011 
1     tm_mon(月)             1 - 12
2     tm_mday(日)                 1 - 31
3     tm_hour(时)                 0 - 23
4     tm_min(分)             0 - 59
5     tm_sec(秒)             0 - 61
6     tm_wday(weekday)            0 - 6(0表示周日)
7     tm_yday(一年中的第几天)    1 - 366
8     tm_isdst(是否是夏令时)            默认为-1

time模块的方法
  • time.localtime([secs]):将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准。

  • time.gmtime([secs]):和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。

  • time.time():返回当前时间的时间戳。

  • time.mktime(t):将一个struct_time转化为时间戳。

  • time.sleep(secs):线程推迟指定的时间运行。单位为秒。

  • time.asctime([t]):把一个表示时间的元组或者struct_time表示为这种形式:‘Sun Oct 1 12:04:38 2017’。如果没有参数,将会将time.localtime()作为参数传入。

  • time.ctime([secs]):把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。

  • time.strftime(format[, t]):把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。如果t未指定,将传入time.localtime()。

    • 举例:time.strftime("%Y-%m-%d %X", time.localtime()) #输出’2017-10-01 12:14:23’
  • time.strptime(string[, format]):把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。

    • 举例:time.strptime(‘2017-10-3 17:54’,"%Y-%m-%d %H:%M") #输出 time.struct_time(tm_year=2017, tm_mon=10, tm_mday=3, tm_hour=17, tm_min=54, tm_sec=0, tm_wday=1, tm_yday=276, tm_isdst=-1)
字符串转时间格式对应表
MeaningNotes
%aLocale’s abbreviated weekday name.
%ALocale’s full weekday name.
%bLocale’s abbreviated month name.
%BLocale’s full month name.
%cLocale’s appropriate date and time representation.
%dDay of the month as a decimal number [01,31].
%HHour (24-hour clock) as a decimal number [00,23].
%IHour (12-hour clock) as a decimal number [01,12].
%jDay of the year as a decimal number [001,366].
%mMonth as a decimal number [01,12].
%MMinute as a decimal number [00,59].
%pLocale’s equivalent of either AM or PM.(1)
%SSecond as a decimal number [00,61].(2)
%UWeek number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0.(3)
%wWeekday as a decimal number [0(Sunday),6].
%WWeek number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0.(3)
%xLocale’s appropriate date representation.
%XLocale’s appropriate time representation.
%yYear without century as a decimal number [00,99].
%YYear with century as a decimal number.
%zTime zone offset indicating a positive or negative time difference from UTC/GMT of the form +HHMM or -HHMM, where H represents decimal hour digits and M represents decimal minute digits [-23:59, +23:59].
%ZTime zone name (no characters if no time zone exists).
%%A literal '%' character.

最后为了容易记住转换关系,看下图

datetime模块

相比于time模块,datetime模块的接口则更直观、更容易调用

datetime模块定义了下面这几个类:

  • datetime.date:表示日期的类。常用的属性有year, month, day;
  • datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;
  • datetime.datetime:表示日期时间。
  • datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
  • datetime.tzinfo:与时区有关的相关信息。(这里不详细充分讨论该类,感兴趣的童鞋可以参考python手册)

我们需要记住的方法仅以下几个:

  1. d=datetime.datetime.now() 返回当前的datetime日期类型
d.timestamp(),d.today(), d.year,d.timetuple()等方法可以调用

2.datetime.date.fromtimestamp(322222) 把一个时间戳转为datetime日期类型

3.时间运算

>>> datetime.datetime.now()

datetime.datetime(2017, 10, 1, 12, 53, 11, 821218)

>>> datetime.datetime.now() + datetime.timedelta(4) #当前时间 +4天

datetime.datetime(2017, 10, 5, 12, 53, 35, 276589)

>>> datetime.datetime.now() + datetime.timedelta(hours=4) #当前时间+4小时

datetime.datetime(2017, 10, 1, 16, 53, 42, 876275)

4.时间替换

>>> d.replace(year=2999,month=11,day=30)

datetime.date(2999, 11, 30)
一文掌握python时间模块time、datetime和zoneinfo 在Python编程中,处理日期和时间是一项基本且频繁的任务。time、datetime和zoneinfo三大模块。 阅读详情

相关推荐

Python中time和datetime模块详解

#时间戳指从1970年1月1日0时0分0秒到指定时间之间的秒数,时间戳是秒,可以使用到2038年的某一天。 #UTC时间: 世界约定的时间表示方式,世界统一时间格式,世界协调时间! #夏令时: 在夏令时时间状态下,时间会调快1个小时

景天科技苑 2152

time & datetime 模块

time模块 在平常的代码中,我们常常需要与时间打交道。在Python中,与时间处理有关的模块就包括:time,datetime,calendar(很少用,不讲),下面分别来介绍。 在开始之前,首先要说明几点: 一、在Python中,通常有这几种方式来表示时间: 时间戳 格式化的时间字符串 元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所...

weixin_34010566的博客 232

Python 新手入门必学十大模块之二:time 和 datetime

Python 提供了两个标准模块,用于处理时间和日期,一个是 time,一个是 datetime,二者在应用需求上各有侧重。一般而言,time 模块侧重于解决当前的时间日期问题,比如当前日期,当前时间戳等;datetime 模块则侧重于解决时间轴上的问题,比如,107天又7小时28分钟之前是几月几号几时等。

Python作业辅导员 - 天元浪子 7834

使用synergy/barrier服务端和客户端连接不上的问题

在使用2021最新版的synergy 1.14.1pro进行不同电脑间(我这里使用的是windows和ubuntu两个系统)使用同一套键鼠时,发现突然连接不上了。 报错信息如下:ipc connection error, connection refused以及[2021-11-07T20:54:50] ERROR: tls error occurred (generic failure) [2021-11-07T20:54:50] ERROR: openssl error: error:1408F10B:

weixin_42301220的博客 2万+

S32K系列之PDB框图详解及PDB触发ADC

可编程延迟模块PDB,PDB可提供从内部或外部触发或可编程间隔信号到ADC硬件触发输入的可控制延迟。 PDB可以选择提供脉冲输出,用作CMP块中的采样窗口。 S32K系列的PDB资源如下表: PDB功能框图 在下图中,以下字母表示的意义: N:PDB通道的总数 n:PDB通道号,范围从0到N-1 M:每个PDB通道的总可用预触发 m:预触发编号,范围从0到M-1 Y:脉冲输出的总数 y:脉冲数...

zz56z56的博客 1万+

OPC UA 服务端的模拟工具及客户端工具

详细介绍如何使用 Prosys OPC UA Simulation Server 作为 OPC UA 服务端的模拟工具来生成数据模型,并使用 Softing OPC UA Client 作为客户端工具,直观地查看和验证模拟生成的数据。

weixin_44462773的博客 9867

Barrier客户端连接问题排查:常见错误与解决方法

当你在多台设备间部署Barrier(开源KVM软件)时,是否频繁遇到以下问题: - 客户端提示"无法连接到服务器"却找不到具体原因 - 配置文件检查多次仍无法发现语法错误 - 网络明明通畅但跨设备鼠标键盘完全无响应 - Linux与Windows之间复制粘贴突然失效 本文将通过**7大类错误案例**、**23种解决方案**和**3套诊断流程图**,帮你系统解决90%的Barr...

gitblog_00867的博客 1592

SpringBoot项目整合达梦数据库(MYSQL 转换 达梦数据库)

注意:当迁移过程中出现下面问题时,如有触发器或者外键,需要先关掉触发器和外键,然后进行迁移,不然会导致迁移失败。(2)dm.ini修改【#compatibility】的【COMPATIBLE_MODE】=4。3、添加用户:如果导入的DM数据库需要和MYSQL的用户一样,添加ROOT用户。方法一:服务器配置:设置系统兼容性(DM控制台工具),兼容MySQL。服务器配置又该有两种方式:①DM控制台工具修改;MYSQL的数据表转换成DM的数据表时,点击转换按钮。在这里操作:MYSQL数据库迁移至DM数据库。

m0_74824635的博客 2013

jQuery页面加载初始化的3种方法

jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本,应该没什么区别,主要看习惯吧,本人觉得第二种方法最好,比较简洁。 第一种: [javascript] view plaincopyprint? $(document).ready(function(){       alert("第一种方法。");   });   第二种:

huanglin02的专栏 9452

一步步教你离线安装vsftpd并配置FTP服务

在安装vsftpd之前,需确保系统更新至最新版本,并检查防火墙配置以允许FTP流量。安装过程涉及使用包管理器(如apt-get或yum)下载vsftpd及其依赖包,特别是在离线环境中,需先下载所有相关包并传输到目标机器。安装完成后,通过命令验证安装并启动服务。配置vsftpd包括编辑配置文件以设置访问权限和安全性参数,如匿名访问和本地用户访问。此外,需配置防火墙开放FTP端口,并通过FTP客户端测试服务。最后,建议进行安全配置,如禁用匿名访问和配置SSL/TLS加密,并设置日志记录以监控服务状态。

a_join的博客 2486

Teams会议翻译对比测试:Copilot同传 vs 人工翻译,结果出乎意料

本文通过对比测试Microsoft 365 Copilot的实时翻译与专业人工翻译在Teams会议中的表现,揭示了AI同传技术在准确率、响应速度和多语言切换方面的优势与局限。实验数据显示,Copilot在常规商务场景下接近人工翻译水平,且成本效益显著,但在专业术语和文化特定表达上仍需人工辅助。

weixin_29054195的博客 224

datetime模块详细讲解

这个库主要实现了时间的序列化和反序列化等功能,其内部有很多的C函数可以方便地进行日期时间计算。在Python中,datetime模块则提供了更加简洁的接口,可以直接使用类和方法进行日期时间的处理。datetime模块是Python中最常用的时间处理模块,可以方便地进行日期时间的计算、格式化、输出等操作。总的来说,datetime模块是Python中十分实用的时间处理模块,可以帮助我们处理各种日期时间相关的操作。datetime类表示一个具体的日期和时间,其构造函数有年、月、日、时、分、秒等参数。

qq_67196379的博客 1664

海洋CMS admin_notify.php 远程代码执行漏洞复现(CVE-2024-30565)

海洋CMS admin_notify.php 接口处存在远程代码执行漏洞,经过身份验证的远程攻击者可利用该漏洞执行任意代码,写入后门文件,进而控制整个web服务器。

0xSec 2714

Python入门:常用模块—time & datetime模块

UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。DST(Daylight Saving Time)即夏令时。时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。

liudefang的专栏 1103

模型预测控制(MPC)解析(六):有约束的MPC简介

本文为阅读笔记,仅供学习交流使用!!! 先从一个例子开始,说明当原始设计的控制信号满足操作约束时,控制系统的性能会显著恶化。并且只要稍加修改,如果在控制器的实现中加入约束,则性能恶化的程度可以降低,从而产生约束控制的思想。 在学习有约束控制之前,先看一个控制系统在控制信号饱和和不饱和的情况下运行的例子。 例:无阻尼振荡器的数学模型如下: 采样周期为Δt=0.1\Delta{t}=0.1Δt=0.1,对应的离散时间状态空间模型为: 设计目标是:设计一个预测控制系统,使得系统输出跟踪单位阶跃响应越快越好。预

行者无疆的博客 6655

【STK】手把手教你利用STK进行光电红外仿真03-STK/EOIR模块属性之二 导弹等目标的EOIR设置

上一节介绍了如何设置传感器的通用属性和空间、光学、光谱、辐射四种专项属性。这一节介绍如果对导弹等目标的EOIR属性进行修改。

weixin_44184852的博客 2203

Python中的time、date、 datetime 、timestamp

Python模块之time模块 一、Mysql 时间类型 在数据库建表的时候,通常有5种字段类型让人选择: TIME、DATE、DATETIME、TIMESTAMP、YEAR。 每种类型的存储空间和时间格式如下: - TIME类型 :存储空间[3 bytes] - 时间格式[HH:MM:SS] - 时间范围[-838:59:59 到 ~ 838:59:59] - DATE类型 :存储空间[3 ...

路一直都在在在的博客 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Python3的datetime模块和time模块

Python3中用来处理日期和时间的模块有 datetime,time,pytz 等,这篇文章将详细介绍这三个模块中常用的方法和属性。 1. datetime 模块 1.1 简介 该模块提供了用于以简单和复杂的方式操作日期和时间的类。虽然支持日期和时间算法,但是实现的重点是高效地提取用于输出格式化和操作的属性。相关的功能,也可以参考 time 和 calendar 模块。 有两种用于表示时间和日期...

Bossen的学习历程 4948

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

python time模块和datetime模块详解

一、time模块 time模块中时间表现的格式主要有三种:   a、timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量   b、struct_time时间元组,共有九个元素组。   c、format time 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。 1、时间格式转换图: 2、主要time生成方法和...

pansaky的博客 3461

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Python基础学习之时间模块 time模块 & datetime模块详解

Python基础学习之时间模块 time模块 datetime模块 文章目录Python基础学习之时间模块 time模块 datetime模块1. time 模块1.1 时间转换的关系图1.2 时间转换方法详解1.3 时区 (time.tzname) & 延时函数 (time.sleep)2. datetime 模块2.1 datetime 模块与 time 模块的区别2.2 datetime 对象类的方法2.3 datatime 对象实例的方法2.4 datatime 对象实例的属性 Pyth

weixin_47139649的博客 5310

python中time 和datetime模块

python 时间操作相关模块

qq_38571773的博客 1922

【Python基础】时间处理方法:深入了解time与datetime模块

在程序开发中,对时间的处理是一个基本而关键的部分。无论是记录日志、调度任务,还是处理时间序列数据,准确的时间处理都是必不可少的。Python提供了两个强大的模块来处理日期和时间:`time`和`datetime`。`time`模块主要用于处理时间戳和提供基本的时间操作功能,而`datetime`模块提供了更加丰富的日期和时间处理方法,包括日期时间的创建、操作和格式化。

climber1121的博客 2060

【Python】有关时间的模块(time、datetime)

Python 的 time 模块提供了处理时间的函数。

享你所想 1978

python中time模块和datetime模块

python中time模块和datetime模块 ** time总结** 一.时间的表示 1.时间戳时间 是从伦敦的1970年1月1日 0点0分0秒开始的(与北京时间相差8个小时:1980.1.1.8:0:0) 类型为float型 type(time.time()) -> <class ‘float’> 2.字符串时间 为可辨识的时间,如 2021-12-31 3.元组(struct_time) 是一个关于时间对象,也可以看成一个包含了9个元素的元组。 二.time模块中的常用方法 1

qq_54526986的博客 2679

python之time与datetime模块

python之time与datetime模块 文章目录python之time与datetime模块引入什么是time与datetime模块UTC 和 DST一、time模块python中时间的三种表达方式时间戳(timestamp)格式化时间字符串(Format String)格式化字符串的时间格式中字符对应关系结构化时间(struct_time)元组元组 (struct_time) 九个元素的含义 :三种时间格式之间的转换(掌握)转换图格式转换操作 (需要掌握的操作)time模块其他常用方法time.sl

淘小欣的博客 813

Python中的Time和DateTime

Python中的time和datetime模块都提供了处理时间相关操作的基本功能。time模块主要用于处理时间戳和一些基本的时间操作,而datetime模块提供了更丰富的日期和时间处理功能,包括日期时间对象的创建、比较、运算和格式化等。我们要处理时间时可以根据不同的需求结合time和datetime模块,有效地处理Python程序中与时间相关的任务,从简单的时间测量到复杂的日期和时间操作。如果你只需要表示和处理时间,使用time模块即可。

deephub 4249
上一篇: python入门开发笔记之模块、包介绍和相关介绍
下一篇: python入门开发笔记之random模块
程序员_大白
博客等级 码龄5年 1万+粉丝 4001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值