当前位置:首页 > 科技  > 软件

十个 Python 时间日期实用函数

来源: 责编: 时间:2024-05-16 09:06:14 65观看
导读今天,我们将携手走进Python世界的“时空隧道”,探索那个神秘而强大的神器——datetime模块。它就像一台精密的魔法时钟,能帮助我们精准地操纵、计算与格式化各种时间日期数据。接下来,让我们一起掌握这台时钟的10大实用秘

今天,我们将携手走进Python世界的“时空隧道”,探索那个神秘而强大的神器——datetime模块。它就像一台精密的魔法时钟,能帮助我们精准地操纵、计算与格式化各种时间日期数据。接下来,让我们一起掌握这台时钟的10大实用秘技,让你在编程世界中随心所欲地驾驭时间!EtS28资讯网——每日最新资讯28at.com

EtS28资讯网——每日最新资讯28at.com

秘技一:初始化时间日期对象

在Python中,我们有三种主要的时间日期对象:date(只包含年、月、日)、time(只包含时、分、秒、微秒)和datetime(包含全部信息)。初始化它们就像填写一张时间卡片:EtS28资讯网——每日最新资讯28at.com

EtS28资讯网——每日最新资讯28at.com

from datetime import datetime, date, time# 创建一个datetime对象now = datetime.now()  # 获取当前日期时间print(now)# 创建一个date对象new_year = date(2023, 1, 1)  # 定义2023年元旦print(new_year)# 创建一个time对象midnight = time(hour=0, minute=0, second=0)  # 定义午夜时刻print(midnight)

秘技二:从字符串解析时间日期

生活中遇到的时间字符串五花八门?别担心,datetime.strptime()函数能将它们统统转化为标准时间对象:EtS28资讯网——每日最新资讯28at.com

EtS28资讯网——每日最新资讯28at.com

from datetime import datetime# 解析字符串为datetime对象birthday_str = "1998-07-4"birthday_date = datetime.strptime(birthday_str, "%Y-%m-%d")print(birthday_date)# 解析复杂格式的字符串event_str = "2022/06/½7 15:30:45 PM"event_time = datetime.strptime(event_str, "%Y/%m/%d %I:%M:%S %p")print(event_time)

秘技三:时间日期对象的操作与比较

如同操作普通数值一样,datetime对象支持加减运算,可以轻松计算时间差、偏移日期等。同时,通过比较操作符,我们可以判断时间先后:EtS28资讯网——每日最新资讯28at.com

from datetime import timedelta, datetime# 计算未来一周的时间one_week_later = datetime.now() + timedelta(weeks=1)print(one_week_later)# 比较两个时间点meeting_start = datetime(2022, ¼, 1, 10, 0)meeting_end = datetime(2022, 4, 1, 11, 30)is_meeting_overdue = meeting_start > meeting_endprint(is_meeting_overdue)  # 输出:False

秘技四:格式化输出时间日期

有了时间对象,如何优雅地展示给用户?strftime()函数能将时间对象转化为符合特定格式的字符串:EtS28资讯网——每日最新资讯28at.com

from datetime import datetimecurrent_time = datetime.now()# 格式化输出formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")print(formatted_time)# 更多格式选项:# %Y - 四位数年份# %m - 两位数月份# %d - 两位数日期# %H - 24小时制小时数# %M - 分钟数# %S - 秒数# ...

秘技五:获取本地时间与UTC时间

datetime模块提供了便捷方法获取本地时间和协调世界时(UTC),确保你的程序在全球范围内准确运行:EtS28资讯网——每日最新资讯28at.com

from datetime import datetime# 获取当前本地时间local_time = datetime.now()print(local_time)# 获取当前UTC时间utc_time = datetime.utcnow()print(utc_time)

秘技六:时区转换

跨越时区?没问题!借助pytz库(需额外安装),你可以轻松进行时区转换:EtS28资讯网——每日最新资讯28at.com

import pytzfrom datetime import datetime# 创建一个UTC时间对象utc_now = datetime.now(pytz.utc)print(utc_now)# 转换到纽约时区new_york_tz = pytz.timezone('America/New_York')ny_time = utc_now.astimezone(new_york_tz)print(ny_time)

秘技七:计算时间间隔

想知道两个时间点之间相隔多久?total_seconds()方法助你快速得到结果:EtS28资讯网——每日最新资讯28at.com

from datetime import datetime, timedeltastart_time = datetime(2022, 4, 1, 9, 0)end_time = datetime(2022, 4, 1, 17, 30)duration = end_time - start_timeprint(duration.total_seconds())  # 输出:31800.0 (即9小时30分钟)

秘技八:获取特定日期属性EtS28资讯网——每日最新资讯28at.com

想单独提取日期或时间对象的某一部分(如年份、小时等)?直接访问其属性即可:EtS28资讯网——每日最新资讯28at.com

from datetime import datetimecurrent_datetime = datetime.now()year = current_datetime.yearmonth = current_datetime.monthday = current_datetime.dayhour = current_datetime.hourminute = current_datetime.minutesecond = current_datetime.secondprint(f"Year: {year}, Month: {month}, Day: {day}")print(f"Hour: {hour}, Minute: {minute}, Second: {second}")

秘技九:获取当前时间戳

有时你需要将时间转化为Unix时间戳(自1970年1月1日以来的秒数)。timestamp()方法帮你一键搞定:EtS28资讯网——每日最新资讯28at.com

from datetime import datetimecurrent_time = datetime.now()timestamp = current_time.timestamp()print(timestamp)

秘技十:处理闰年、季度、星期

datetime模块还提供了判断闰年、计算季度、获取星期的方法,丰富你的时间处理工具箱:EtS28资讯网——每日最新资讯28at.com

from datetime import datetimeleap_year_test = datetime(2024, 1, 1).is_leap_year()print(leap_year_test)  # 输出:Truecurrent_quarter = datetime.now().quarterprint(current_quarter)  # 输出:2 (当前季度)current_weekday = datetime.now().weekday()print(current_weekday)  # 输出:3 (星期四,0代表周一)

结语

恭喜你,现在你已掌握datetime模块的10大实用秘技,无论是初始化时间对象、解析字符串、操作比较、格式化输出,还是处理时区、计算间隔、获取属性、转化时间戳,乃至处理闰年、季度、星期,都能游刃有余。带上这台神奇的Python魔法时钟,去编程世界里畅快地穿越时空吧!EtS28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-88336-0.html十个 Python 时间日期实用函数

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: C# 获取 Windows 系统信息及CPU、内存和磁盘使用情况

下一篇: C++力量与灵活性的完美结合

标签:
  • 热门焦点
  • MIX Fold3包装盒泄露 新机本月登场

    MIX Fold3包装盒泄露 新机本月登场

    小米的全新折叠屏旗舰MIX Fold3将于本月发布,近日该机的真机包装盒在网上泄露。从图上来看,新的MIX Fold3包装盒在外观设计方面延续了之前的方案,变化不大,这也是目前小米旗舰
  • 7月安卓手机性能榜:红魔8S Pro再夺榜首

    7月安卓手机性能榜:红魔8S Pro再夺榜首

    7月份的手机市场风平浪静,除了红魔和努比亚带来了两款搭载骁龙8Gen2领先版处理器的新机之外,别的也想不到有什么新品了,这也正常,通常6月7月都是手机厂商修整的时间,进入8月份之
  • 使用LLM插件从命令行访问Llama 2

    使用LLM插件从命令行访问Llama 2

    最近的一个大新闻是Meta AI推出了新的开源授权的大型语言模型Llama 2。这是一项非常重要的进展:Llama 2可免费用于研究和商业用途。(几小时前,swyy发现它已从LLaMA 2更名为Lla
  • .NET 程序的 GDI 句柄泄露的再反思

    .NET 程序的 GDI 句柄泄露的再反思

    一、背景1. 讲故事上个月我写过一篇 如何洞察 C# 程序的 GDI 句柄泄露 文章,当时用的是 GDIView + WinDbg 把问题搞定,前者用来定位泄露资源,后者用来定位泄露代码,后面有朋友反
  • 签约井川里予、何丹彤,单视频点赞近千万,MCN黑马永恒文希快速崛起!

    签约井川里予、何丹彤,单视频点赞近千万,MCN黑马永恒文希快速崛起!

    来源:视听观察永恒文希传媒作为一家MCN公司,说起它的名字来,可能大家会觉得有点儿陌生,但是说出来下面一串的名字之后,或许大家就会感到震惊,原来这么多网红,都签约这家公司了。根
  • 花7万退货退款无门:谁在纵容淘宝珠宝商家造假?

    花7万退货退款无门:谁在纵容淘宝珠宝商家造假?

    来源:极点商业作者:杨铭在淘宝购买珠宝玉石后,因为保证金不够赔付,店铺关闭,退货退款难、维权无门的比比皆是。“提供相关产品鉴定证书,支持全国复检,可以30天无理由退换货。&
  • 阿里大调整

    阿里大调整

    来源:产品刘有媒体报道称,近期淘宝天猫集团启动了近年来最大的人力制度改革,涉及员工绩效、层级体系等多个核心事项,目前已形成一个初步的“征求意见版”:1、取消P序列
  • 支持aptX Lossless无损传输 iQOO TWS 1赛道版发布限时优惠价369元

    支持aptX Lossless无损传输 iQOO TWS 1赛道版发布限时优惠价369元

    2023年7月4日,“无损音质,声动人心”iQOO TWS 1正式发布,支持aptX Lossless无损传输,限时优惠价369元。iQOO TWS 1耳机率先支持端到端aptX Lossless无
  • 超级标准版旗舰!iQOO 11S全球首发iQOO超算独显芯片

    超级标准版旗舰!iQOO 11S全球首发iQOO超算独显芯片

    上半年已接近尾声,截至目前各大品牌旗下的顶级旗舰都已悉数亮相,而下半年即将推出的顶级旗舰已经成为了数码圈爆料的主流,其中就包括全新的iQOO 11S系
Top