Python的日期和时间


在现实世界的应用程序中,有些情况需要我们处理日期和时间。python中有一些例子,我们必须安排脚本在某些特定的时间运行。

 

在python中,日期不是数据类型,但我们可以通过导入以datetime,time和calendar命名的模块来处理日期对象。

 

在本教程的这一部分中,我们将讨论如何在python中使用日期和时间对象。

 

tick

在python中,时间瞬间从1970年1月1日上午12点开始计算。模块时间的函数time()返回自1970年1月1日上午12点以来所花费的总滴答数。刻度可以看作是最小的单位。衡量时间。

 

请考虑以下示例。

 

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

 

输出:

1545124460.9151757

 

 

如何获得当前时间?

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

 

import time;
 
#returns a time tuple
 
print(time.localtime(time.time()))

 

输出:

 

time.struct_time(tm_year = 2018,tm_mon = 12,tm_mday = 18,tm_hour = 15,tm_min = 1,
tm_sec = 32,tm_wday = 1,tm_yday = 352,tm_isdst = 0)

 

 

时间元组

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

 

Index
Attribute
Values
0
Year
4 digit   (for example 2018)

Month
1 to 12

Day
1 to 31

Hour
0 to 23

Minute
0 to 59

Second
0 to 60

Day of   weak
0 to 6

Day of   year
1 to 366

Daylight   savings
-1, 0, 1   , or -1


获得格式化时间

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

 

import time;
 
#returns the formatted time 
 
print(time.asctime(time.localtime(time.time())))

 

输出:

Tue Dec 18 15:31:39 2018

 

 

Python睡眠时间

时间模块的sleep()方法用于在给定的时间内停止脚本的执行。输出将延迟指定为float的秒数。

 

请考虑以下示例。

 

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

日期时间模块

datetime模块使我们能够创建自定义日期对象,在比较等日期执行各种操作。

 

要将日期作为日期对象使用,我们必须将datetime模块导入到python源代码中。

 

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

 

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

 

输出:

2018-12-18 16:16:45.462778

 

 

创建日期对象

我们可以通过在要为其创建日期对象的datetime构造函数中传递所需日期来创建日期对象。

 

请考虑以下示例。

 

import datetime;
 
#returns the datetime object for the specified date
 
print(datetime.datetime(2018,12,10))

 

输出:

2018-12-10 00:00:00

 

我们还可以指定时间以及创建datetime对象的日期。请考虑以下示例。

 

import datetime;
 
#returns the datetime object for the specified time 
 
print(datetime.datetime(2018,12,10,14,15,10))

 

输出:

2018-12-10 14:15:10

 

 

 

两个日期的比较

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

 

请考虑以下示例。

 

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(2018,12)
#printing the calendar of December 2018
print(cal)

 

输出:

未命名图片.png

Python日期和时间

打印全年日历

日历模块的prcal()方法用于打印全年的日历。必须将要打印日历的年份传递给此方法。

 

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

 

输出:

 未命名2图片.png