1. Python DateTime,TimeDelta,Strftime(Format)及其示例
在Python中,date,time和datetime类提供了许多函数来处理日期、时间和时间间隔(time interval)。 Date和DateTime是Python中的对象,因此在操作它们时,实际上是在操作对象,而不是字符串或时间戳。每当您操纵日期或时间时,都需要导入DateTime函数。
Python中的DateTime类主要分为5类。
- date —日期(月,日,年)
- time-一天中时间(小时,分钟,秒,微秒)
- DateTime-时间和日期的组合(月,日,年,小时,秒,微秒)
- time delta —用于操纵日期的时间段
- tzinfo —处理时区的抽象类
第1步)在为DateTime运行代码之前,请务必导入date-time模块,如下面的屏幕快照所示。
这些import语句是Python库中预定义的功能,可让您无需编写任何代码即可操纵日期和时间。
第2步)接下来,创建日期对象的实例。
第三步)接下来,打印日期并运行代码。
使用date.today()打印日期
date.today
函数具有与之关联的几个属性。我们可以单独打印日/月/年以及其他内容
我们来看一个例子
Python当前日期和时间: now() today()
第1步)像日期对象一样,我们在Python中也可以使用日期时间(datetime)对象。它给出日期和时间小时、分钟、秒和毫秒。
第2步)使用datetime对象,您还可以调用time类。
假设我们只想打印当前时间而不显示日期。
第3步)我们将工作日索引应用到工作日的ArrayList中,以了解今天是哪一天
- 根据当前工作日的不同,为工作日的运算符(wd)分配(0–6)编号。在这里,我们声明了几天的列表数组(星期一,星期二,星期三…星期日)。
- 使用该索引值可以知道是哪一天。在我们的例子中,它是#0,代表星期一,因此在输出中,它将打印出“which is a monday”。
如何使用 Strftime()格式化日期和时间输出
到目前为止,我们已经了解了如何在Python中使用DateTime和Date对象。我们将进一步学习如何使用格式化功能来格式化时间和日期。
第1步)首先,我们将看到一个简单的如何格式化年份的步骤。通过一个例子来理解。
- 我们使用了“strftime函数”用于格式化。
- 此函数使用不同的控制码提供输出。
- 每个控制代码类似于不同的参数,例如年,月,周日和日期[(%y /%Y-年),(%a /%A-工作日,(%b /%B-月),(%d-月中的天)]]。
- 在我们的例子中,(“%Y”)类似于年份,它打印出带有世纪的完整年份(例如,2018年)。
第2步)现在,如果将(“%Y”)替换为小写字母(即“%y”)并执行代码,则仅输出(18),而不显示(2018)。年份的世纪将不会显示,如下面的屏幕截图所示
第3步)Strftime函数可以分别声明日期,日,月和年。同样,在strftime函数中对控制代码进行小的更改后,即可设置文本样式的格式。
在strftime函数内部,如果将(%a)替换为大写字母A,即(%A),输出将输出为“Friday”,而不是缩写“Fri”。
第4步)借助“strftime”函数,我们还可以检索本地系统时间,日期或日期时间。
- %C-表示本地日期和时间
- %x-表示本地日期
- %X-表示本地时间
第5步骤)“strftime”函数允许您以24小时格式或12小时格式调用时间。
如何使用Timedelta对象
使用timedelta对象,您可以计算未来和过去的时间。换句话说,预测任何特殊的日期,日期或时间都是一个时间跨度。
请记住,此功能不是用于打印时间或日期,而是用于计算未来或过去的时间内容。让我们看一个例子,以更好地理解它。
第1步)要运行Timedelta对象,您需要先声明import语句,然后执行代码
第2步)让我们获取今天的日期和时间,以检查我们的导入声明是否运行良好。执行代码后,它会打印出今天的日期
第3步)我们将看到如何通过delta对象计算离现在now()一年后的日期。当我们运行代码时,它将给出预期的输出。
第4步)如何使用时间增量(time delta)从当前日期和时间计算未来日期的另一个示例
步骤5)让我们看一个更复杂的例子。我想确定新年后一共过去了多少天。
- 使用today = date.today(),我们将获得今天的日期
- 我们知道新年总是在1月1日,但是这一年可能会有所不同。使用nyd = date(today.year,1,1),我们将新年存储在变量nyd中
- 如果nyd <today:比较当前日期是否大于新年。如果是,则进入while循环
- (((today-nyd).days)给出当前日期和新年之间的差异(以DAYS为单位)
总结
为了以简单和复杂的方式处理日期和时间,DateTime模块提供了不同的时间类或类别,例如
- date —操作日期(月,日,年)
- 时间-一天中的时间(小时,分钟,秒,微秒)
- DateTime-时间和日期的组合(月,日,年,小时,秒,微秒)
- timedelta —用于操纵日期的时间长度
- tzinfo —处理时区的抽象类
使用DateTime对象
- 在执行代码之前必须导入DateTime对象
- 使用date.today函数可打印单个日期/月份/年份以及索引日期
- 使用date.time对象获取小时、分钟、秒和毫秒的时间
使用“strftime”函数格式化时间输出
- 使用“strftime”函数更改年份的格式
- 分别打印日期、日期、月份和年份,
- 格式化时间为12小时或24小时模式
Timedelta对象
- 使用timedelta对象,您可以计算未来和过去的时间
- 计算从当前时间到特殊日期(生日)剩余的总天数
- 计算从当前时间算起的特定天(生日)经过的总天数
以上代码的Jupyter文件在此链接中可以找到: