【Python 基础教程】对时间日期对象的侃侃而谈

简介: 【Python 基础教程】对时间日期对象的侃侃而谈

前言


学习每一门语言多多少少会用到与时间相关的东西,咱们今天呢就谈一谈Python中的时间与日期对象。

在Python中时间对象一般可以用来测量效率。日期对象用来处理日期与字符串之间的关系。


一、时间对象🪐------------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日的日期对象


切记时间对象可以直接比较大小(时间的前后)


总结


主要讲述了Python中日期与时间常用到的一些函数,以及日期格式化为字符串、字符串转换为日期对象。虽然篇幅短小但是非常精悍。对于时间日期对象重点掌握时间差怎么求,怎么处理字符串与日期之间的关系就足够了。其余功能在我们使用的时候再去官方文档上查找。




相关文章
|
11天前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
22天前
|
IDE 测试技术 项目管理
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
PyCharm是由JetBrains开发的Python集成开发环境(IDE),专为Python开发者设计,支持Web开发、调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试和版本控制等功能。它有专业版、教育版和社区版三个版本,其中社区版免费且适合个人和小型团队使用,包含基本的Python开发功能。安装PyCharm前需先安装Python解释器,并配置环境变量。通过简单的步骤即可在PyCharm中创建并运行Python项目,如输出“Hello World”。
197 13
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
|
3月前
|
Python
在 Python 中,如何将日期时间类型转换为字符串?
在 Python 中,如何将日期时间类型转换为字符串?
149 64
|
2月前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
87 8
|
2月前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
155 7
|
2月前
|
存储 数据处理 Python
Python如何显示对象的某个属性的所有值
本文介绍了如何在Python中使用`getattr`和`hasattr`函数来访问和检查对象的属性。通过这些工具,可以轻松遍历对象列表并提取特定属性的所有值,适用于数据处理和分析任务。示例包括获取对象列表中所有书籍的作者和检查动物对象的名称属性。
43 2
|
2月前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
57 4
|
2月前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
64 5
|
2月前
|
缓存 监控 算法
Python内存管理:掌握对象的生命周期与垃圾回收机制####
本文深入探讨了Python中的内存管理机制,特别是对象的生命周期和垃圾回收过程。通过理解引用计数、标记-清除及分代收集等核心概念,帮助开发者优化程序性能,避免内存泄漏。 ####
64 3
|
3月前
|
数据挖掘 Python
用Python轻松获取任意月份的公休日期
本文介绍了如何使用Python的`calendar`和`datetime`模块轻松获取任意月份的公休日期,包括周六和周日。通过示例代码,用户可以输入年份和月份,程序将输出该月份的所有公休日。这对于安排会议、规划旅行或数据分析都非常有用。
43 3

热门文章

最新文章

推荐镜像

更多