python 日期和时间处理(time,datetime模块讲解)

article/2025/9/30 11:30:27

在现实生活中,我们常常遇到时间序列任务。所以今天讲解下日期和时间处理。

Python 日期时间(datetime)

1.获取当前时间

import datetimedatetime_object = datetime.datetime.now()
print(datetime_object)

2.获取当前日期

import datetimedate_object = datetime.date.today()
print(date_object)

查看下datetime有什么

import datetimeprint(dir(datetime))

[‘MAXYEAR’, ‘MINYEAR’, ‘builtins’, ‘cached’, ‘doc’, ‘file’, ‘loader’, ‘name’, ‘package’, ‘spec’, ‘date’, ‘datetime’, ‘datetime_CAPI’, ‘sys’, ‘time’, ‘timedelta’, ‘timezone’, ‘tzinfo’]

datetime模块中常用的类是:

date类

time类

datetime类

timedelta类

datetime.date类
您可以从date类示例化date对象。date对象表示日期(年、月和日)。

import datetimed = datetime.date(2020, 10, 1)
print(d)

2020-10-01
上面示例中的date()是date类的构造函数。构造函数有三个参数:年、月和日。

3.获取当前日期

from datetime import datetoday = date.today()print("当前日期 =", today)

4.从时间戳获取日期
我们还可以从时间戳创建日期对象。Unix时间戳是特定日期到UTC的1970年1月1日之间的秒数。可以使用fromtimestamp()方法将时间戳转换为日期。

from datetime import datetimestamp = date.fromtimestamp(1576244364)
print("日期 =", timestamp)

5.打印今天的年,月和日

from datetime import date# 今天的日期对象
today = date.today() print("当前年:", today.year)
print("当前月:", today.month)
print("当前日:", today.day)

datetime.time
从time类示例化的时间对象表示本地时间。

from datetime import time# time(hour = 0, minute = 0, second = 0)
a = time()
print("a =", a)# time(hour, minute and second)
b = time(11, 34, 56)
print("b =", b)# time(hour, minute and second)
c = time(hour = 11, minute = 34, second = 56)
print("c =", c)# time(hour, minute, second, microsecond)
d = time(11, 34, 56, 234566)
print("d =", d)

6.打印时,分,秒和微秒

创建time对象后,您可以轻松打印其属性,例如小时,分钟等。

from datetime import timea = time(11, 34, 56)print("小时=", a.hour)
print("分钟=", a.minute)
print("秒=", a.second)
print("微秒=", a.microsecond)

datetime.datetime

datetime模块有一个名为的dateclass类,可以包含来自date和time对象的信息。

from datetime import datetime#datetime(year, month, day)
a = datetime(2019, 11, 28)
print(a)# datetime(year, month, day, hour, minute, second, microsecond)
b = datetime(2019, 11, 28, 23, 55, 59, 342380)
print(b)

7.打印年,月,时,分和时间戳

from datetime import datetimea = datetime(2020, 10, 1, 23, 55, 59, 342380)
print("年 =", a.year)
print("月 =", a.month)
print("日 =", a.day)
print("时 =", a.hour)
print("份 =", a.minute)
print("时间戳 =", a.timestamp())

datetime.timedelta
8.timedelta对象表示两个日期或时间之间的时差。

from datetime import datetime, datet1 = date(year = 2018, month = 7, day = 12)
t2 = date(year = 2017, month = 12, day = 23)
t3 = t1 - t2
print("t3 =", t3)t4 = datetime(year = 2018, month = 7, day = 12, hour = 7, minute = 9, second = 33)
t5 = datetime(year = 2019, month = 6, day = 10, hour = 5, minute = 55, second = 13)
t6 = t4 - t5
print("t6 =", t6)print("type of t3 =", type(t3)) 
print("type of t6 =", type(t6))

9.两个timedelta对象之间的时间差

from datetime import timedeltat1 = timedelta(weeks = 2, days = 5, hours = 1, seconds = 33)
t2 = timedelta(days = 4, hours = 11, minutes = 4, seconds = 54)
t3 = t1 - t2print("t3 =", t3)

Python格式日期时间

日期和时间的表示方式在不同的地方,组织等中可能有所不同。在美国,使用mm / dd / yyyy更为常见,而在英国使用dd / mm / yyyy更为常见。

Python有strftime()和strptime()方法来处理这个问题。

Python strftime()-字符串的日期时间对象
strftime()方法是在date、datetime和time类下面定义的。该方法根据给定的日期、日期时间或时间对象创建格式化的字符串。
本文以datetime举例说明,time里也是一样的
1.使用strftime()格式化日期

from datetime import datetime# current date and time
now = datetime.now()t = now.strftime("%H:%M:%S")
print("time:", t)s1 = now.strftime("%m/%d/%Y, %H:%M:%S")
# mm/dd/YY H:M:S format
print("s1:", s1)s2 = now.strftime("%d/%m/%Y, %H:%M:%S")
# dd/mm/YY H:M:S format
print("s2:", s2)

2.Python strptime()-日期时间的字符串

strptime()方法从一个给定的字符串(表示日期和时间)创建一个datetime对象。

from datetime import datetimedate_string = "1 October, 2020"
print("date_string =", date_string)date_object = datetime.strptime(date_string, "%d %B, %Y")
print("date_object =", date_object)

Python 时间戳( timestamp)

1.Python时间戳到日期时间

from datetime import datetimetimestamp = 1545730073
dt_object = datetime.fromtimestamp(timestamp)print("dt_object =", dt_object)
print("type(dt_object) =", type(dt_object))

2.Python日期时间到时间戳
您可以使用datetime.timestamp()方法从datetime对象获取时间戳。

from datetime import datetime# 当前日期和时间
now = datetime.now()timestamp = datetime.timestamp(now)
print("时间戳 =", timestamp)

Python time 模块

Python time.time()
time()函数返回自纪元以来经过的秒数。

对于Unix系统,January 1, 1970, 00:00:00在UTC是历元(其中,时间开始点)

import time
seconds = time.time()
print("Seconds since epoch =", seconds)

Python time.ctime()
time.ctime()以历元以来的秒为参数,返回一个表示本地时间的字符串。

import time# 自纪元以来经过的秒数
seconds = 1545925769.9618232
local_time = time.ctime(seconds)
print("Local time:", local_time)

time.struct_time类

这是一个time.struct_time对象的实例。

time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27,
tm_hour=6, tm_min=35, tm_sec=17,
tm_wday=3, tm_yday=361, tm_isdst=0)

Python time.localtime()
localtime()函数将自epoch以来经过的秒数作为参数,并以localtime返回struct_time。

import timeresult = time.localtime(1545925769)
print("result:", result)
print("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)

Python time.gmtime()
该gmtime()函数将自epoch以来经过的秒数作为参数,并struct_time以UTC返回。

import timeresult = time.gmtime(1545925769)
print("result:", result)
print("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)

Python time.mktime()
mktime()函数将struct_time(或包含9个元素的元组对应于struct_time)作为参数,并返回自当地时间的纪元以来经过的秒数。基本上,它是localtime()的反函数。

import timet = (2018, 12, 28, 8, 44, 4, 4, 362, 0)local_time = time.mktime(t)
print("Local time:", local_time)

Python time.asctime()
该asctime()函数将struct_time(或包含9个元素的元组对应于struct_time)作为参数,并返回表示它的字符串。这是一个实例:

import timet = (2018, 12, 28, 8, 44, 4, 4, 362, 0)result = time.asctime(t)
print("Result:", result)

Python time.sleep()
sleep()函数在给定的秒数内暂停(延迟)当前线程的执行。

import time
import datetime
print("这是立即打印输出。",datetime.datetime.now())
time.sleep(4)
print("这是4秒后打印的。",datetime.datetime.now())

结合pandas ,lambda函数可以实现批量处理表格时间
python时间戳转换并pandas批量转换时间戳

时间序列特征构造提取
时间序列特征构造:以电力负荷预测为例讲解(python语言)

在这里插入图片描述
电气工程的计算机萌新:余登武。写博文不容易。如果你觉得本文对你有用,请点个赞支持下,谢谢。
在这里插入图片描述


http://chatgpt.dhexx.cn/article/FVDcUAJi.shtml

相关文章

urllib之urlopen和urlretrieve的headers传入以及parse、urlparse、urlsplit的使用

urllib库是什么? urllib库python的一个最基本的网络请求库,不需要安装任何依赖库就可以导入使用。它可以模拟浏览器想目标服务器发起请求,并可以保存服务器返回的数据。 urllib库的使用: 1、request.urlopen (1)只能传入url的方式 from http…

python urlparse()方法

该方法实现url的识别和分段,这里先用一个实例来看一下 from urllib.parse import urlparseresulturlparse(http://www.baidu.com/index.html;user?id5#comment) print(type(result),result) 这里我们用urlparse()方法进行了URL的解析,首先&#xff0c…

python爬虫之urllib.parse详解

Python 中的 urllib.parse 模块提供了很多解析和组建 URL 的函数。 urlunparse() 通过长度为6的可迭代对象,组建URL urlunsplit() 通过长度为5的可迭代对象,组建URL urljoin() 将两个链接参数拼接为完整URL urlencode() 将字典转换为请求参数 parse_qs(…

Python中Urlparse模块

Urlparse这个第三方模块中包含的函数有urljoin、urlsplit、urlunsplit、urlparse等。 1.urlparse.urlparse(urlstring[, scheme[, allow_fragments]]) urlparse将urlstring解析成6个部分,它从urlstring中取得URL,并返回元组 (scheme, netloc, path, pa…

[240]python的urllib.parse库解析URL

Python 中的 urllib.parse 模块提供了很多解析和组建 URL 的函数。 解析url urlparse() 函数可以将 URL 解析成 ParseResult 对象。对象中包含了六个元素,分别为: 协议(scheme) 域名(netloc) 路径&#x…

Python之urllib爬虫-request模块和parse模块详解

文章目录 urllibrequest模块访问URLRequest类其他类 parse模块解析URL转义URL robots.txt文件 urllib urllib是Python中用来处理URL的工具包,源码位于/Lib/下。它包含了几个模块:用于打开及读写的urls的request模块、由request模块引起异常的error模块、…

url.parse() 的替换方法new URL(),URl.parse()的使用。

URl.parse()的解析使用 对于这种表单提交的的请求路径,由于其中具有用户动态填写的内容所以不能通过完整的URL路径来处理这个请求对于我们来讲,只需要判定,请求路径是/……?之前就行 var myurl require(url); var obj myurl.p…

Python之urlparse模块

一、简介 urlparse库用于把url解析为各个组件,支持file,ftp,http,https, imap, mailto, mms, news, nntp, prospero, rsync, rtsp, rtspu, sftp, shttp, sip, sips, snews, svn, svnssh, telnet等几乎所有的形式。根据其官网的说明,在Python3.0中&#x…

Python模块:urlparse模块(操作url)

文章目录 一、介绍二、功能介绍1.urlparse.urlparse2.urlparse.urlsplit3.urlparse.urljoin 一、介绍 官方文档 :http://docs.python.org/library/urlparse.html作用:urlparse模块主要是用于解析url中的参数 对url按照一定格式进行 拆分或拼接注意&…

基于FPGA的人脸识别

基于FPGA的人脸识别 一.理论基础 1.基本介绍 模块框图: 在上一篇文章里,已经实现了基于OV5640的摄像头监控,在此基础上,我们加入一些图像处理的内容,即可实现简单的一些图像处理效果,这次做到的就是最…

facenet 人脸识别原理理解(三)

在前两篇文章已经介绍了facenet人脸识别代码的使用和具体操作,但相关的原理还是没有说,这篇文章进行简单的讲解一下。 1. 原理 在人脸识别中,当我们需要加在图片数据库入新的一张人脸图片时,是怎么做到识别的呢,难道…

人脸识别mtcnn原理

人脸检测,也就是在图片中找到人脸的位置。输入是一张可能含有人脸的图片,输出是人脸位置的矩形框。 人脸对齐。原始图片中人脸的姿态、位置可能有较大的区别,为了之后统一处理,要把人脸“摆正”。为此,需要检测人脸中…

dlib中的人脸识别原理

这里讨论的是人脸识别,不是人脸检测 dlib中是先检测都人脸,然后把人脸通过Resnet生成一个128维的向量,Resnet有几种不同深度的结构(图片来自https://raw.githubusercontent.com/raghakot/keras-resnet/master/images/architecture.png) dlib…

计算机识别人脸原理,深入浅出人脸识别原理

编辑推荐: 本文主要介绍了人脸识别流程,如何提取面部训练数据进行识别以及人脸检测和人脸识别,它们应用场景有哪些,希望对您的学习又所帮助。 本文来自于csdn,由火龙果软件Alice编辑、推荐。 前不久Iphone X发布,革命性的取消了TouchID(指纹识别),而添加了更酷的 FaceID(…

基于html5鼠标悬停图片动画展示效果

分享一款基于html5鼠标悬停图片动画展示效果。里面包含两款不同效果的html5图片展示效果。效果图如下&#xff1a; 在线预览 源码下载 实现的代码。 html代码&#xff1a; <div class"wrap" id"wrap"><div style"float: left; padding-top…

组件分享之后端组件——一个简单且高度可扩展的分布式文件系统seaweedfs

组件分享之后端组件——一个简单且高度可扩展的分布式文件系统seaweedfs 背景 近期正在探索前端、后端、系统端各类常用组件与工具&#xff0c;对其一些常见的组件进行再次整理一下&#xff0c;形成标准化组件专题&#xff0c;后续该专题将包含各类语言中的一些常用组件。欢迎大…

代理神器Charles4.2.8的破解

打开Charles&#xff0c;点击工具栏的Help&#xff0c;选择Register Charles&#xff0c;在两栏里分别输入即可。 Registered Name: https://zhile.io License Key: 48891cf209c6d32bf4

TLS加密套件

出于兴趣爱好&#xff0c;决定开发TLS1.2-1.3的一个库。为此阅读了TLS相关的若干RFC文档&#xff0c;以及查阅了多篇相关博客文章。最终有以下发现&#xff1a; 1. TLS定义了几百个加密套件(参考https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml)&#x…

sshd服务及防暴力破解 附赠防暴力破解脚本

利用yum源安装sshd服务客户端安装&#xff1a;openssh-clients.x86_64 服务端安装&#xff1a;openssh-server.x86_64Openssh和sshd有区别吗&#xff1f; 两个是不同的概念&#xff0c;软件包名称叫openshh 开机的服务叫sshd[rootserver1 ~]# rpm -ql openssh ###查看安装的…

The server selected protocol version TLS10 is not accepted by client preferences [TLS12]

最近在部署项目的时候遇到一个问题&#xff0c;卡了整整一天时间&#xff0c;所以感觉有必要po个解决方法出来给有需要的朋友参考一下。 问题描述&#xff1a;Caused by: javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted b…