Python 日期和时间

Python 日期和时间

Python提供了 datetime 模块与实际日期和时间一起工作。在实际应用中,我们需要使用日期和时间。Python使我们能够安排Python脚本在特定时间运行。

在Python中,日期不是一种数据类型,但我们可以通过导入 datetime、time和calendar 模块来使用日期对象。

在本教程的本节中,我们将讨论如何在Python中使用日期和时间对象。

datetime 类被分为六个主要类别。

  • date - 它是一个理想化的日期。它由年、月和日组成。
  • time - 它是一个完美的时间,假设每天有精确的246060秒。它具有小时、分钟、秒、微秒和 tzinfo 等属性。
  • datetime - 它是日期和时间的组合,包括年、月、日、小时、分钟、秒、微秒和tzinfo等属性。
  • timedelta - 它表示两个日期、时间或datetime实例之间的差异,以微秒为分辨率。
  • tzinfo - 它提供时区信息对象。
  • timezone - 它包含在Python的新版本中。它是实现 tzinfo 抽象基类的类。

Tick

在Python中,时间瞬间是从1970年1月1日凌晨12点开始计算的。模块time的 time() 函数返回从1970年1月1日凌晨12点开始的总时间数。Tick可以看作是测量时间的最小单位。

考虑以下示例。

import time;
#prints the number of ticks spent since 12 AM, 1st January 1970
print(time.time())

输出:

1585928913.6519969

如何获取当前时间

time模块的localtime()函数用于获取当前时间tuple。请考虑以下示例。

示例

import time;  

#returns a time tuple   

print(time.localtime(time.time()))

输出:

time.struct_time(tm_year=2020, tm_mon=4, tm_mday=3, tm_hour=21, tm_min=21, tm_sec=40, tm_wday=4, tm_yday=94, tm_isdst=0)

时间元组

时间被视为一个由9个数字组成的元组。让我们来看看时间元组的成员。

Index Attribute Values
0 Year 4 digit (for example 2018)
1 Month 1 to 12
2 Day 1 to 31
3 Hour 0 to 23
4 Minute 0 to 59
5 Second 0 to 60
6 Day of weak 0 to 6
7 Day of year 1 to 366
8 Daylight savings -1, 0, 1 , or -1

获取格式化的时间

可以使用时间模块的 asctime() 函数来格式化时间。它返回传递的时间元组的格式化时间。

示例

import time  
  #returns the formatted time    

print(time.asctime(time.localtime(time.time())))

输出:

Tue Dec 18 15:31:39 2018

Python等待时间

sleep() 方法用于暂停脚本的执行一段时间。输出将延迟给定的秒数。

考虑以下示例。

示例

import time
for i in range(0,5):
    print(i)
    #Each element will be printed after 1 second
    time.sleep(1)

输出:

0
1
2
3
4

日期时间模块

日期时间模块允许我们创建自定义日期对象,执行诸如比较等各种日期操作。

要将日期作为日期对象进行处理,我们必须将日期时间模块导入到Python源代码中。

请考虑以下示例,以获取当前时间的日期时间对象表示。

示例

import datetime
#returns the current datetime object   
print(datetime.datetime.now())  

输出:

2020-04-04 13:18:35.252578

创建日期对象

通过在datetime构造器中传递所需日期,我们可以创建日期对象。

考虑以下示例。

示例

import datetime  
#returns the datetime object for the specified date  
print(datetime.datetime(2020,04,04))  

输出:

2020-04-04 00:00:00

我们还可以在日期后面指定时间来创建datetime对象。考虑以下示例。

示例

import datetime

#returns the datetime object for the specified time    

print(datetime.datetime(2020,4,4,1,26,40))  

输出:

2020-04-04 01:26:40

在上面的代码中,我们按顺序传递了datetime()函数的年、月、日、小时、分钟和毫秒属性。

比较两个日期

我们可以使用比较运算符如>、>=、<和<=来比较两个日期。

考虑以下示例。

示例

from datetime import datetime as dt  
#Compares the time. If the time is in between 8AM and 4PM, then it prints working hours otherwise it prints fun hours  
if dt(dt.now().year,dt.now().month,dt.now().day,8)<dt.now()<dt(dt.now().year,dt.now().month,dt.now().day,16):  
    print("Working hours....")  
else:  
    print("fun hours") 

输出结果:

fun hours

日历模块

Python提供了一个包含各种方法来处理日历的日历对象。

考虑以下示例,以打印2018年最后一个月的日历。

示例

import calendar;  
cal = calendar.month(2020,3)  
#printing the calendar of December 2018  
print(cal)  

输出:

March 2020
Mo Tu We Th Fr Sa Su
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

打印整年的日历

calendar模块的prcal()方法用于打印整个年份的日历。需要将要打印日历的年份传递给该方法。

示例

import calendar  
#printing the calendar of the year 2019  
s = calendar.prcal(2020)

输出:

Python 日期和时间

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程