Python 一篇文章看懂时间日期对象
作者:酷尔。 发布时间:2022-12-23 04:29:14
一、时间对象time
time模块使用的是C语言函数库中的函数。只能处理1970/1/1到2038/12/31之间的数据。
1.测量运行时间方法
①process_time()
主要作用就是返回当前进程处理器运行时间
②perf_counter()
返回性能计算器
③monotonic()
返回单项时钟
2.函数性能计算器
使用函数装饰器结合time对象,测试排序算法的性能。
from random import *
import time
# -----------------------装饰器函数用于计时-----------------------#
def timer(func):
def weapper(*s):
start=time.perf_counter()
func(*s)
end=time.perf_counter()
print("用时:\t\t",end-start)
return weapper
# -----------------------生成随机列表-----------------------#
def randomlist():
return [randint(0,100) for x in range(10)]
# -----------------------冒泡排序-----------------------#
@timer
def sortA():
lis=randomlist()
print("随机生成的序列:",lis)
i=0
while i<len(lis):
j=i+1
while j<len(lis)-i:
if lis[j]<lis[i]:
lis[i],lis[j]=lis[j],lis[i]
j+=1
i+=1
print("排序后的序列:\t",lis)
# -----------------------选择排序-----------------------#
@timer
def sortB():
lis=randomlist()
print("随机生成的序列:",lis)
i=0
while i<len(lis):
j=0
while j<len(lis)-1:
if lis[j]>lis[j+1]:
lis[j+1],lis[j]=lis[j],lis[j+1]
j+=1
i+=1
print("排序后的序列:\t",lis)
# -----------------------插入排序-----------------------#
'''
将未排序数列插入左侧已排好队的序列。
分析需要一个游标记录应该排序的位置,一个临时变量进行应该排序数据的临时保存
'''
@timer
def sortC():
lis=randomlist()
print("随机生成的序列:",lis)
for i in range(1,len(lis)):
temp = lis[i]
j=i
while lis[j-1]>temp:
lis[j]=lis[j-1]
j=j-1
if j==0:
break
lis[j]=temp
print("排序后的序列:\t",lis)
# -----------------------主函数-----------------------#
def main():
print("-----------------冒泡排序---------------------")
sortA()
print("-----------------选择排序---------------------")
sortB()
print("-----------------插入排序---------------------")
sortC()
if __name__=="__main__":
main()
二、日期对象datetime
日期对象在处理字符串与日期对象的时候特别常用。所以呢咱们重点学习一下 Python中的字符串转日期、日期转字符串的方法。
1.格式化日期字符串时常用的占位符
%Y Year with century as a decimal number.
%m Month as a decimal number [01,12].
%d Day of the month as a decimal number [01,31].
%H Hour (24-hour clock) as a decimal number [00,23].
%M Minute as a decimal number [00,59].
%S Second as a decimal number [00,61].
%z Time zone offset from UTC.
%a Locale's abbreviated weekday name.
%A Locale's full weekday name.
%b Locale's abbreviated month name.
%B Locale's full month name.
%c Locale's appropriate date and time representation.
%I Hour (12-hour clock) as a decimal number [01,12].
%p Locale's equivalent of either AM or PM.
2.日期对象
datetime.date.today() #输出年月日
datetime.datetime.now() #输出年月日时分秒毫秒
可以通过datetime.date.today() 获取到时间对象使用相应的实例方法可以获取到年月日
可以通过datetime.datetime.now()获取到时间对象用相应的实例方法可以获取到年月日时分秒
属性是year(年),month(月)day(日),hour(时),minute(分),second(秒)
st=datetime.datetime.now()
st.year #获取年份
3.日期转字符串
函数strftime()参数为format对象,占位符使用的就是1中提到的那几个。 将日期按照指定格式进行格式化,并返回出来。
代码如下:
import datetime
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
4.字符串转日期
通过的是strptime()参数是一个字符串,还有字符串的格式化(哪里是年哪里是月) eg:
import datetime
str = datetime.strptime(“20200202”,"%Y%m%d")
这里str就是2020年02月02日的日期对象
切记时间对象可以直接比较大小(时间的前后)
来源:https://blog.csdn.net/apple_51931783/article/details/123168776


猜你喜欢
- 1,定义和注册中间件在注册的中间件中使用:from django.http import HttpResponseRedirect'
- 要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清除的概念。大多IE下的显示错误,就
- Python数据类型分为值类型和引用类型, 下面我们看下它们的区别:值类型:对象本身不允许修改,数值的修改实际上是让变量指向了一个新的对象包
- 本文实例讲述了Python lxml模块的基本使用方法。分享给大家供大家参考,具体如下:1 lxml的安装安装方式:pip install
- 1、从外部文档中粘贴时,如果不想要其格式,只要文字,可以使用“Edit->paste as text”命令,而不要直接Ctrl+V。2
- 今天抽空学习了一下之前了解过的pillow库,以前看到的记得这个库可以给图片上加文字加数字,还可以将图片转化成字符画,不过一直没有找时间去学
- 最近有一个需求:将日志以json格式输出, 并且有些字段是logging模块没有的.看了很多源码和资料, 终于搞定, 抽取精华分享出来, 一
- 去年曾总结了《IE对CSS样式表的限制和解决方案》中限制的第4条写道“一个CSS文件的不能超过288kb?”,这是一个疑问句,当时没有重现出
- 模型训练时GPU利用率太低的原因最近在训练SSD模型时发现GPU的利用率只有8%,而CPU的利用率却非常高。后来了解到,一般使用CPU进行数
- 废话少说,上干活。for的基本操作for是用来循环的,是从某个对象那里依次将元素读取出来。看下面的例子,将已经学习过的数据对象用for循环一
- 本文实例讲述了Python实现base64编码的图片保存到本地功能。分享给大家供大家参考,具体如下:# -*- coding:utf-8 -
- 记录一下关于geemap的安装步骤,geemap是基于GEE由吴秋生老师二次开发的一个包,geemap主要使用python来进行实现相关功能
- 废话不多说了,直接给大家贴代码了。import urllibimport urllib2import cookielibdef getImg
- CSS的出现使网页制作者在对网页元素的控制方便许多,当然,有利必有弊,CSS只能对颜色、大小、距离等静
- 本文为大家分享了MySQL5.6安装教程,具体内容如下1. 下载MySQL2. 解压MySQL压缩包将以下载的MySQL压缩包解压到自定义目
- 生活中我们经常会遇到一些加密算法,今天我们就聊聊这些加密算法的Python实现。部分常用的加密方法基本都有对应的Python库,基本不再需要
- 高动态范围成像一、引言如今,大多数数字图像和成像设备每通道使用 8 位整数表示灰度,因此将设备的动态范围限制在两个数量级(实际上是 256
- 模块概述如果说模块是按照逻辑来组织 Python 代码的方法, 那么文件便是物理层上组织模块的方法。 因此, **一个文件被看作是一个独立模
- 本文实例为大家分享了python多线程分块读取文件的具体代码,供大家参考,具体内容如下# _*_coding:utf-8_*_import
- 需要安装pyechartspip install pyecharts -U 创建【demo6.py】并输入以下编码:from py