Python Time Date 实现时间和日期的处理

Python是一种优雅而简单的编程语言,具有出色的稳定性和可读性,广泛应用于数据科学、人工智能、网络编程和网站开发等领域。时间和日期的处理在Python编程中非常基础且重要,在本文中我们将以Python的时间和日期模块(time和datetime)为基础,深入讲解Python如何处理时间和日期,并介绍一些常见的应用场景。

一、time模块

Python的time模块是处理时间的基础模块,常用于获取当前时间、计时、延时等操作。使用前需要使用 “import time” 在代码中导入模块。

1、 获取当前时间

>>> import time
>>> current_time = time.localtime()
>>> print(current_time)

time.struct_time(tm_year=2021, tm_mon=4, tm_mday=16, tm_hour=14, tm_min=23, tm_sec=18, tm_wday=4, tm_yday=106, tm_isdst=0)

上述代码中,time.localtime()函数会返回一个包含当前时间的time.struct_time对象,该对象包含年月日,时分秒等信息。

2、计时

>>> import time
>>> start_time = time.time()
>>> time.sleep(2)
>>> end_time = time.time()
>>> print(end_time-start_time)

2.0007262229919434

上述代码中通过 time.time() 获取系统时间戳来进行计时,sleep(2)表示程序休息2秒,即计时2秒钟。返回的是按秒计算的浮点数,两个参数相减即可得到程序运行时间。

3、格式化时间

>>> import time
>>> current_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
>>> print(current_time)

2021-04-16 14:41:43

上述代码中将时间格式化成指定的格式,常用的格式有 %Y(年)、%m(月)、%d(日)、%H(时)、%M(分)、%S(秒) 等。time.localtime()返回的时间是struct_time类型,strftime()将其格式化成指定的字符串格式。

二、datetime模块

Python的datetime模块也是处理时间的重要模块,比time模块更加高级、灵活。datetime提供了时间和日期的解析、格式化、加减、比较等的操作。

1、获取当前日期和时间

>>> from datetime import datetime
>>> current_time = datetime.now()
>>> print(current_time)

2021-04-16 14:49:35.631708

上述代码中,使用datetime.now()获取当前日期和时间。

2、获取指定日期

>>> from datetime import datetime
>>> specific_time = datetime(2021, 4, 16, 16, 30, 0)
>>> print(specific_time)

2021-04-16 16:30:00

上述代码中,通过datetime(year, month, day, hour, minute, second)构造函数,获取指定日期和时间。

3、加减时间

>>> from datetime import datetime, timedelta
>>> current_time = datetime.now()
>>> one_day_ago = current_time - timedelta(days=1)
>>> print(one_day_ago)

2021-04-15 14:55:46.073013

上述代码中,通过timedelta()参数指定时间间隔,以天(days)为单位进行加减,返回的是一个新的datetime对象。

4、比较时间大小

>>> from datetime import datetime 
>>> time_a = datetime(2021, 4, 16, 16, 0, 0)
>>> time_b = datetime(2021, 4, 16, 14, 0, 0)
>>> print(time_a > time_b)

True

上述代码中,使用比较运算符进行比较两个时间,返回True或False。

三、常见应用场景

1、计时器

>>> import time
>>> def countdown(n):
...     while n > 0:
...         print(n)
...         n = n - 1
...         time.sleep(1)
...     print("Start!")
>>> countdown(3)

3
2
1
Start!

上述代码中,定义一个计时器函数countdown(),使用 time.sleep(1) 使程序运行时间延长1秒。通过输入countdown(3)将之前定义好的计时器倒数数秒,到达0结束并提示 “Start!”。这里提供一种最基础的计时器实现思路。

2、日志记录

>>> import logging
>>> LOG_FORMAT = "%(asctime)s %(levelname)s %(message)s"
>>> logging.basicConfig(filename="log.log", level=logging.DEBUG, format=LOG_FORMAT)
>>> logging.debug("This is a debug message")

#输出到文件log.log文件:

2021-04-16 15:31:13,484 DEBUG This is a debug message

上述代码中,使用 logging 模块记录日志,配置基本Log信息格式信息,将日志写入到 log.log 文件中。

3、时间戳转换

>>> from datetime import datetime 
>>> timestamp = 1618645721
>>> dt_object = datetime.fromtimestamp(timestamp)
>>> print(dt_object)

2021-04-17 03:22:01

上述代码中, 通过datetime.fromtimestamp(timestamp)将时间戳转成“YYYY-MM-DD HH:MM:SS”格式的日期。其中datetime.fromtimestamp() 返回一个以本地时间表示的新datetime对象。

4、时间与字符串转换

>>> from datetime import datetime 
>>> str_time = "2021-04-17 01:21:20"
>>> dt_object = datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S')
>>> print(dt_object)

2021-04-17 01:21:20

上述代码中,使用 datetime.datetime.strptime(date_string, format_string)将字符串转成日期格式。其中datetime.datetime.strptime(date_string, format_string)将字符串解析成为日期变量,其中date_string为要解析的字符串,format_string为字符串的格式,例如%Y-%m-%d %H:%M:%S表示YYYY-MM-DD HH:MM:SS格式的日期。

总结

在Python中处理时间和日期非常方便,time和datetime模块为我们提供了很多强大的函数和方法。通过对本文的学习,相信您已经了解了如何使用Python处理时间和日期,掌握了一些常见的应用场景。相信这些知识对于您日后在Python编程中处理时间与日期会有很大的帮助。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/303761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-31 11:50
下一篇 2024-12-31 11:50

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29

发表回复

登录后才能评论