在本教程中,我们将了解 python 中的 datetime 模块,它可以为各种程序进行日期和时间操作。datetime 模块包含各种允许解析和格式化日期和时间格式的函数。为了创建日期,我们导入 datetime 模块并使用datetime()
构造函数。
datetime 类还可以接受不同时间和时区的其他参数,例如小时、分钟或秒。这些参数是可选的,时区参数的默认值为 0(0 表示无)。
在 Python 中实现日期时间
要使用该模块在 python 中操作日期和时间,我们需要在系统中安装 datetime 模块。在管理员模式下的命令提示符中运行以下代码。
pip install datetime |
我们可以通过以下方式创建单个日期时间对象:
import datetime DATE = datetime.datetime( 2023 , 2 , 13 ) print (DATE) |
输出将是:
2023-02-13 00:00:00 |
使用 for 循环显示日期范围
此示例使用 datetime 模块并定义一个简单的函数来显示两个给定日期之间的日期范围。
#importing required modules from datetime import timedelta from datetime import date #function for creating a range of dates def rangeofdates(startdate, enddate): for n in range ( int ((enddate - startdate).days) + 1 ): yield startdate + timedelta(n) #defining beginning and end dates startdate = date( 2023 , 2 , 13 ) enddate = date( 2023 , 2 , 24 ) #displaying the dates using the functions for dt in rangeofdates(startdate, enddate): print (dt.strftime( "%Y-%m-%d" )) |
输出如下所示:
2023-02-13 2023-02-14 2023-02-15 2023-02-16 2023-02-17 2023-02-18 2023-02-19 2023-02-20 2023-02-21 2023-02-22 2023-02-23 2023-02-24 |
另请阅读:使用 Python 将字母转换为数字。
使用列表创建全面的日期范围
我们可以使用该append()
函数创建一个范围内的日期列表。
#importing datetime import datetime #setting startdate startdate = datetime.date( 2023 , 2 , 13 ) #setting a counter Count = 5 #range of dates as a list datelist = [] #creating the dates list for day in range (Count): date = (startdate + datetime.timedelta(days = day)).isoformat() datelist.append(date) # printing result print ( "Next 5 dates list: " + str (datelist)) |
上述代码的输出将是:
Next 5 dates list: [ '2023-02-13' , '2023-02-14' , '2023-02-15' , '2023-02-16' , '2023-02-17' ] |
使用 pandas 创建日期范围
我们还可以使用 pandas 包和 datetime 来创建一系列日期。要了解有关 pandas 的更多信息,请访问官方文档。
#importing datetime import datetime #importing pandas import pandas as pd # initializing the start date startdate = datetime.datetime.strptime( "13-2-2023" , "%d-%m-%Y" ) # initializing the counter for dates count = 10 #generating the dates date_generated = pd.date_range(startdate, periods = 10 ) #displaying the generated dates print (date_generated.strftime( "%d-%m-%Y" )) |
输出将是:
Index([ '13-02-2023' , '14-02-2023' , '15-02-2023' , '16-02-2023' , '17-02-2023' , '18-02-2023' , '19-02-2023' , '20-02-2023' , '21-02-2023' , '22-02-2023' ], dtype= 'object' ) |
自定义日期范围的开始和结束日期
我们需要开发一个程序,允许用户输入来定制我们的程序。让我们看看如何适应用户输入来创建日期范围。
#importing required modules from datetime import timedelta import datetime #taking user input for start date styear = int ( input ( 'Enter start year=' )) stmonth = int ( input ( 'Enter start month=' )) stday = int ( input ( 'Enter start day=' )) datestart = datetime.date(styear, stmonth, stday) #taking user input for end date endyear = int ( input ( 'Enter last year=' )) endmonth = int ( input ( 'Enter last month=' )) endday = int ( input ( 'Enter last day=' )) dateend = datetime.date(endyear, endmonth, endday) #function for creating a range of dates def rangeofdates(startdate, enddate): for n in range ( int ((enddate - startdate).days) + 1 ): yield startdate + timedelta(n) #displaying the dates using the functions for dt in rangeofdates(datestart, dateend): print (dt.strftime( "%Y-%m-%d" )) |
上述代码的输出将是:
Enter start year=2023 Enter start month=2 Enter start day=13 Enter last year=2023 Enter last month=2 Enter last day=28 2023-02-13 2023-02-14 2023-02-15 2023-02-16 2023-02-17 2023-02-18 2023-02-19 2023-02-20 2023-02-21 2023-02-22 2023-02-23 2023-02-24 2023-02-25 2023-02-26 2023-02-27 2023-02-28 |
另请阅读:Python 初学者在线免费课程
概括。
本文演示了使用 python 中的 datetime() 模块在用户定义的两个给定日期之间创建日期范围的各种方法。这是Python编程中非常有用的工具,可用于相应地优化或更改时间戳。要了解有关 datetime() 构造函数的更多信息,请访问官方页面。