当前位置:

首页 > 编程开发 > python中time和datetime的区别及用法是什么

python中time和datetime的区别及用法是什么

一.Python中表示时间的两种方式:时间戳:相对于1970.1.100:00:00以秒计算的偏移量,唯一的时间元组struct_time:共有9个元素>tm_year:年1-12>tm_mon:月1-12>tm_mday:日1-31>tm_hour:时0-23>tm_min:分0-59>tm_sec:秒0-59>tm_wday:星期0-6(0表示周日)>tm_day:一年中的第几天1-366>tm_isdst:是否是夏令,默认为-1二.time1.time.time()#当前时间戳,没参数,唯一值2.t

本文目录

    一. Python中表示时间的两种方式:

    • 时间戳:相对于1970.1.1 00:00:00以秒计算的偏移量,唯一的

    • 时间元组struct_time:共有9个元素> tm_year:年1-12> tm_mon:月1-12> tm_mday:日1-31> tm_hour:时0-23> tm_min:分0-59> tm_sec:秒0-59> tm_wday:星期0-6(0表示周日)> tm_day:一年中的第几天1-366> tm_isdst:是否是夏令,默认为-1

    二. time

     1. time.time() #当前时间戳, 没参数,唯一值
     2. time.sleep(secs) #暂停几秒
     3. time.gmtime(secs)  #无参得到当前格林尼治时间,有时间戳参数就转为格林尼治结构时间
     4. time.localtime(secs)  #无参得到local结构化时间, 有时间戳参数就转为local结构化时间
               print(time.localtime())  # time.struct_time(tm_year=2022, tm_mon=10, tm_mday=20, tm_hour=11, tm_min=20, tm_sec=44, tm_wday=3, tm_yday=293, tm_isdst=0)
               print(time.localtime(13912345678))  # time.struct_time(tm_year=2410, tm_mon=11, tm_mday=12, tm_hour=20, tm_min=27, tm_sec=58, tm_wday=4, tm_yday=316, tm_isdst=0)
     5. time.strftime(format, t) #将结构化时间转化为自定义的格式化时间 
               print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))  #北京时间
               print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()+60*60)))  #东京时间
     6. time.strptime(string, format) # 将自定义时间(字符串)转化为结构时间
               print(time.strptime("2023-1-11 1:2:3", "%Y-%m-%d %H:%M:%S")) # 将日常格式化时间转为结构化时间
               print(time.strptime("2023-1-11", "%Y-%m-%d")) # 将日常格式化时间转为结构化时间
     7. time.ctime(secs)  # 将一个时间戳转变为一个结构化时间
               print(time.ctime(123))  # Thu Jan  1 08:02:03 1970
               print(time.ctime(time.time() + 60 * 60))  # Thu Oct 20 11:28:32 2023
     8. time.mktime(t) # 将所给结构化时间转化为时间戳
               print(time.mktime(time.localtime(time.time())))  # 1666233100.0
               print(time.time())  # 1666233100.5075898  # 两行的效果是一样的
               # 求一个指定时间的时间戳
               print(time.mktime(time.strptime('2023-2-3', '%Y-%m-%d'))) # 1580659200.0

    三. datetime

    datetime比time高级了不少,可以理解为datetime基于time进行了封装,提供了更多实用的函数,主要包含一下几类:

    • timedelta:主要用于计算时间跨度

    • time:只关注时间

    • date:只关注日期

    • datetime:同时有时间和日期

    在实际使用中,用得比较多的是datetime.datetime和datetime.timedelta,另外两个datetime.date和datetime.time实际使用和datetime.datetime并无太大差别。

    1.datetime.datetime

    datetime.datetime 实例化后主要会有以下属性及常用方法:

    time_now = datatime.datetime.now()  #实例化
    
    datetime.year
    datetime.month
    datetime.day
    datetime.hour
    datetime.minute
    datetime.second
    datetime.microsecond
    datetime.tzinfo():时区
    datetime.date():返回date对象
    datetime.time():返回time对象
    datetime.replace(name=value)
    datetime.timetuple():返回time.struct_time 对象
    datetime.strftime(format):按照format进行格式化输出
    #除了实例本身具有的方法,类本身也提供了很多好用的方法:
    
    datetime.strptime(date_string,format): 给定时间格式解析字符串
    datetime.now([tz]):当前时间默认 localtime
    datetime.today():当前时间

    2.datetime.timedelta

    date.timedelta(3) ,前进3天
    date.timedelta(-3) ,后退3天
    date.timedelta(hour = 3) ,前进3小时
    date.timedelta(minutes = 3) ,前进3分钟

    import time
    import datetime
    
    dt = datetime.datetime.now()
    
    print(dt.timestamp())
    print(dt.year)
    print(dt.month)
    print(dt.day)
    print(dt.hour)
    print(dt.minute)
    print(dt.second)
    print(dt.microsecond)
    print(dt.tzinfo)
    print(dt.time())
    print(dt.date())
    print(dt.strftime("%Y-%m-%d %H:%M:%S"))  # 2023-1-31 13:42:16
    print(datetime.datetime.strptime('2023-1-20 1:1:1', "%Y-%m-%d %H:%M:%S"))
    
    delta = datetime.timedelta(11)
    
    print(dt + delta)
    print((dt + delta).strftime("%Y-%m-%d %H:%M:%S"))
    print((dt - delta).strftime("%Y-%m-%d %H:%M:%S"))
    
    print('....')
    print(datetime.datetime.now()) #返回 2023-1-20 13:40:29.151057
    print(datetime.date.fromtimestamp(time.time()) )  # 时间戳直接转成日期格式 2023-1-20
    print(datetime.datetime.now())
    print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
    print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
    print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
    print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分
    
    print(datetime.date.fromtimestamp(time.time()))  # 2023-1-20
    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Python time
    相关文章 更多
    python删除一个列表里的重复元素的方法与代码示例
    python删除一个列表里的重复元素的方法与代码示例

    学习如何使用Python高效删除列表中的重复元素。本文提供5种常见方法的代码示例,涵盖保持顺序与不保持顺序的场景,适合初学者和进阶开发者参考。

    Python写接口的步骤及完整代码示例
    Python写接口的步骤及完整代码示例

    详细讲解使用Python编写Web接口的核心步骤与完整代码示例,涵盖环境准备、路由定义、数据校验、服务启动及调试测试方法。

    codex怎么读取word文档及docx文件操作教程
    codex怎么读取word文档及docx文件操作教程

    介绍如何利用编程工具读取和解析Word文档(docx格式),涵盖基础文本提取代码示例、结构化数据处理逻辑,以及处理复杂排版时的技术局限与替代方案。

    怎么在Python中调用C语言代码提升性能
    怎么在Python中调用C语言代码提升性能

    详细讲解在Python中调用C语言代码提升性能的完整实践指南,包含原理分析、编译步骤、ctypes与CFFI具体实现、性能对比及常见陷阱。

    Python与C语言的性能差异及底层原理
    Python与C语言的性能差异及底层原理

    深入解析Python与C语言在执行效率上的数量级差异,从编译机制、变量内存布局、动态类型推断到GIL锁,系统阐明底层核心原理。

    Python和C语言哪个更适合编程入门
    Python和C语言哪个更适合编程入门

    客观对比Python与C语言在心智负担、底层机制与学习反馈上的核心差异,提供清晰有据的选择标准与切实的入门学习路径。

    selenium上传文件教程本地文件路径设置方法
    selenium上传文件教程本地文件路径设置方法

    深入解析Selenium处理文件上传的技术细节,涵盖标准HTML控件的路径直接注入法与非标准控件的系统级模拟方案,提供Windows与Linux环境下的路径设置最佳实践及常见异常排查。

    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景
    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景

    针对大数据工程场景,系统对比Java、Scala与Python在执行性能、生态结合、开发效率和维护成本上的核心差异,给出清晰的架构选型依据与落地方案。

    langgraph python guide中文入门教程详解
    langgraph python guide中文入门教程详解

    本篇LangGraph Python中文入门教程详解,系统梳理StateGraph状态机定义、节点编写、边与条件路由、检查点持久化(MemorySaver)等核心机制,提供从环境安装到完整循环智能体构建的代码示例与实操指导。

    mysql查询某个日期的数据怎么写SQL语句
    mysql查询某个日期的数据怎么写SQL语句

    深入讲解在MySQL中查询指定日期数据的SQL编写方法,区分DATE与DATETIME字段类型的差异,详解等值匹配、左闭右开范围查询、DATE()函数利弊、索引效率及常见误区。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。