Python学习(五)时间日历的处理

时间日历的常用操作:

time模块(提供时间处理和各种时间格式之间的转换)

  1. 获取当前的时间戳。
  2. 获取时间元组
  3. 获取格式化时间(可通过时间戳或者时间元组来进行转化)
  4. 格式化日期字符串
  5. 获取当前的CPU时间
  6. 休眠操作

calendar模块

datetime模块  Python处理时间和时间的标准库

具体操作实例(time模块):

 

获取时间戳(获取的时间戳数据是从1970后开始计算并且以秒为单位,所以通过时间戳来获取当前的时间要在后面加上1970)

下面是一段来获取以年为单位的时间戳获取具体时间的代码:

import time  # 一定要记得加入时间包

result = time.time()   # 获取当前的时间戳,这个时间戳是在1970年后以秒为单位显示的
result = result/(24*60*60*365) + 1970   # 通过除以每年内的秒数再加上1970来获取当前的年份
print(result) 

 

获取时间元组(获取的时间默认是当前时间)

下面同样用一段代码来展示时间元组的具体操作

import time

result = time.localtime()  #获取时间元组,前提必须加入时间包,参数默认时当前时间,也可以通过时间戳转化为对应时间。
print(result)

 

利用时间戳和时间元组来获取格式化时间

时间戳:先获取当前时间戳再调用ctime()方法进行格式化

时间元组:先获取时间元组再调用asctime(time_tuple)来进行格式化

import time

t = time.time()
result = time.ctime()          # 利用时间戳来获取格式化时间。
print(result)

time_tuple = time.localtime()
result = time.asctime(time_tuple)        # 利用时间元组来获取格式化时间。
print(result)

 

我们还可以利用时间元组来生成我们指定格式的日期

import time

time_tuple = time.localtime()
print(time.strftime("%Y-%m-%d %H:%M:%S", time_tuple))     
# 利用%Y代表年 %m代表月 %d代表日,¥H、%M、%S分别代替时分秒。
# 将元组日期中的年月日分别赋值给%Y,%m,%d

而反过来我们也可以将格式化时间转化为时间元组和时间戳

import time

# 将格式化时间转化为时间元组
pt = time.strptime("2018-08-17 10:35:34","%Y-%m-%d %H:%M:%S")
print(pt)
#将元组转化为时间戳。
t = time.mktime(pt)
print(t)

 

在运行程序时有时候我们需要测试运行所需要的时间,这个时候我们可以通过获取运行前后CPU的当前时间,然后再计算这俩个时间的差来获取这个程序运行的时间。

下面是一个简单计算编译器打印从0到9999的数字所需要的时间的简单例子

import time

start = time.process_time()    # 之间的time.clock()已经被弃用了,改用time.perf_counter或者time.process来获取时间差。
for it in range(0,10000) :
    print(it)
end = time.process_time()
print(end - start)

 

在time这个包中提供了一个方法sleep(x)可以用来进行休眠操作,x表示停止x秒。下面是一个简单的实时时间读书器,每过一秒输出一次(其实一次输出之后休眠一秒)。

import time

while True :
    result = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    print(result)
    time.sleep(1)     # 运行到这里的时候休息1秒钟。

 

具体操作实例(calendar模块):

print(calendar.month(2018,8))

通过这串代码可以打印出2018年8月的日历。

 

具体操作实例(datetime模块):

通过datetime包中的datetime类中的一个now()方法

import datetime

t = datetime.datetime.now()
print(datetime.datetime.today())     # 获取当天的日期。

可以调用datetime类中的实例方法来查看具体的年月日时分秒

# 获取当天日期具体的年月日时分秒
print(type(t))
print(t.day)
print(t.min)
print(t.hour)
print(t.second)
print(t.month)
print(t.year)

还可以通过datetime类中的实例方法timedelta(day=x)来获取时间差

import datetime

t = datetime.datetime.now()
result = t + datetime.timedelta(days=15)      # 制造15天的时间差。
print(t,result)

first = datetime.datetime(2018 , 8, 16,00,00)
second = datetime.datetime(2018 , 9, 3,00,00)
dealt = second - first
print(dealt,type(dealt))
print(dealt,dealt.total_seconds())

输出结果:
2018-08-27 01:39:42.207420 2018-09-11 01:39:42.207420
18 days, 0:00:00 
18 days, 0:00:00 1555200.0

 

你可能感兴趣的:(python)