Python time和datatime模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python time和datatime模块相关的知识,希望对你有一定的参考价值。

 time和datatime模块

时间相关的操作,时间有三种表示方式:

  • 时间戳               1970年1月1日之后的秒,即:time.time()
  • 格式化的字符串    2014-11-11 11:11,    即:time.strftime(‘%Y-%m-%d‘)
  • 结构化时间          元组包含了:年、日、星期等... time.struct_time    即:time.localtime()

 

import time

# 返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来
print(time.clock())
print(time.process_time())


输入结果:
1.520822339055174e-06
0.09360059999999999  

 

import time

# 返回与utc时间的时间差,以秒计算
print(time.altzone)

输入结果:
-32400  

 

import time

# 返回时间格式"Thu Oct 19 17:26:06 2017"
print(time.asctime())

输入结果:
Thu Nov 30 16:53:21 2017  

 

import time

# 返回本地时间 的struct time对象格式
print(time.localtime())

输入结果:
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=16, tm_min=53, tm_sec=21, tm_wday=3, tm_yday=334, tm_isdst=0)  

 

import time

# 返回时间格式"Fri Aug 19 11:14:16 2016"
print(time.asctime(time.localtime()))
# 返回时间格式"Fri Aug 19 11:14:16 2016"
print(time.ctime())

输入结果:
Thu Nov 30 16:53:21 2017
Thu Nov 30 16:53:21 2017  

 

import time

# 返回utc时间的struc时间对象格式
print(time.gmtime(time.time()-800000))

输入结果:
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=21, tm_hour=2, tm_min=40, tm_sec=1, tm_wday=1, tm_yday=325, tm_isdst=0)  

 

import time

# # 日期字符串 转成  时间戳
# # 将 日期字符串 转成 struct时间对象格式
string_2_struct = time.strptime("2016/06/22", "%Y/%m/%d")
print(string_2_struct)
string_2_struct = time.strptime("2016.06.22", "%Y.%m.%d")
print(string_2_struct)

输入结果:
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=22, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=174, tm_isdst=-1)
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=22, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=174, tm_isdst=-1)  

 

import time

# 将struct时间对象转成时间戳
struct_2_stamp = time.mktime(string_2_struct)
print(struct_2_stamp)

输入结果:
1466524800.0  

 

import time

# # 返回时间格式"Fri Aug 19 11:14:16 2016"
a = time.asctime(string_2_struct)
print(a)

输入结果:
Wed Jun 22 00:00:00 2016  

 

import time

# 将时间戳转为字符串格式
print(time.gmtime(time.time()-86640)) # 将utc时间戳转换成struct_time格式

输入结果:
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=29, tm_hour=8, tm_min=49, tm_sec=21, tm_wday=2, tm_yday=333, tm_isdst=0)  

 

import time

print(time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())) # 将utc struct_time格式转成指定的字符串格式
print(time.strftime("%Y:%m:%d %H:%M:%S", time.gmtime(time.time()+28800))) # 正八区时间
print("\033[32m%s\033[0m" % time.strftime("%Y:%m:%d %H:%M:%S")) # 正八区时间
print("\033[31m%s\033[0m" % time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 正八区时间

输入结果:
2017-11-30 08:53:21
2017:11:30 16:53:21
2017:11:30 16:53:21
2017-11-30 16:53:21  

 

以上是关于Python time和datatime模块的主要内容,如果未能解决你的问题,请参考以下文章

time和datatime模块

Python模块-time && datatime

Python进阶----规范化格式目录, time模块, datatime模块,random模块,collection模块(python额外数据类型)

time,datatime,random,os,sys,hashlib模块

Python3入门(十三)——常用内置模块之时间日期模块datatime

模块之Time,datatime,hashlib,hmac