您的位置:首页 > 编程语言 > Python开发

Python时间处理之time模块

2017-09-17 15:34 489 查看

简介

模块,用一砣代码实现了某个功能的代码集合。

类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。

如:os 是系统相关的模块;file是文件操作相关的模块

模块分为三种:

自定义模块

内置标准模块(又称标准库)

开源模块

自定义模块 和开源模块的使用参考 http://www.cnblogs.com/wupeiqi/articles/4963027.html

比如:

时间模块:

Time

DateTime

*Time

时间戳

从1970年开始计算的秒数,打印到今天此时的秒数。

import time
print(time.time())




打印当前系统时间

#_*_coding:utf-8_*_
__author__ = 'Alex_XT'

import time

print(time.time())
print(time.ctime())
print(time.ctime(time.time()-86400))#前一天时间




获取当前系统时间

方法1

利用以上的time.ctime()来获取,但是有些是字母的格式。

# _*_coding:utf-8_*_
__author__ = 'Alex_XT'

import time

time_obj = time.ctime()
time_list = time_obj.split(" ")
print(time_list)
print("{}年/{}月/{}日  星期:{}  时间:{}".format(time_list[-1],time_list[1],time_list[2],time_list[0],time_list[3]))




方法2

利用time.gmtime()模块,获取年、月、日、小时、分钟、秒、一个星期中的第几天,注意序号是从0开始,6结束。而小时是从UTC开始,格林威治时间,东八区的时间为+8,或者按照本地时间time.localtime()。

#_*_coding:utf-8_*_
__author__ = 'Alex_XT'

import time

time_obj = time.gmtime()
print(time_obj)
print("{}年-{}月-{}日 星期:{}   {}h:{}m:{}s ".format(time_obj.tm_year,time_obj.tm_mon,time_obj.tm_mday,
time_obj.tm_wday + 1,time_obj.tm_hour,time_obj.tm_min,time_obj.tm_sec))
#使用本地时间
time_obj = time.localtime()
print(time_obj)
print("{}年-{}月-{}日 星期:{}   {}h:{}m:{}s ".format(time_obj.tm_year,time_obj.tm_mon,time_obj.tm_mday,
time_obj.tm_wday + 1,time_obj.tm_hour,time_obj.tm_min,time_obj.tm_sec))




格式化字符串输出

import time

#struct_time格式转为格式化字符串
time_obj = time.localtime()
print(time_obj)
time_format = time.strftime("%Y/%m/%d %H:%M:%S",time_obj)
print(time_format)




格式化字符串转为struct_time格式

import time

time_string = "2017-6-30 6:30:06"
print(time_string)
time_struct = time.strptime(time_string,"%Y-%m-%d %H:%M:%S")
print(time_struct)




格式化字符串转为时间戳

import time

#将字符串格式转为时间戳
time_string = "2017-6-30 6:30:06"
print(time_string)
time_struct = time.strptime(time_string,"%Y-%m-%d %H:%M:%S")
print(time_struct)
time_seconds = time.mktime(time_struct)
print(time_seconds)




时间戳转为struct_time格式

import time

time_seconds = 1498775406.0
print(time_seconds)
time_struct = time.localtime(time_seconds)
print(time_struct)




时间戳转为格式化字符串

import time

time_seconds = 1498775406.0
print(time_seconds)
time_struct = time.localtime(time_seconds)
print(time_struct)
time_format = time.strftime("%Y-%m-%d %H:%M:%S",time_struct)
print(time_format)




**DateTime

打印当前时间

import datetime

last_time = datetime.datetime.now()
print("last_time:", last_time)
current_time = datetime.datetime.today()
print("current_time:", current_time)




计算时间差

import datetime

last_time = datetime.datetime.now()
print("last_time:", last_time)

current_time = last_time - datetime.timedelta(days=20)
print("current_time:", current_time)

current_time = current_time - datetime.timedelta(hours=1)
print("current_time:", current_time)

current_time = current_time - datetime.timedelta(seconds=1)
print("current_time:", current_time)




时间替换

import datetime

c_time  = datetime.datetime.now()
print(c_time.replace(minute=3,hour=2)) #时间替换




字符串转为固定时间格式

import datetime

string_time = "6/30/17 19:30:22"
date_time = datetime.datetime.strptime(string_time,"%m/%d/%y %H:%M:%S")
print(date_time)




注意事项:

注意与Time中的strptime区别,居然有差异

import time

#将字符串格式转为时间格式
tm_style = "2017-9-17 18:41:50"
struct_tm = time.strptime(tm_style,"%Y-%m-%d %H:%M:%S")
print(struct_tm)




+全部代码

#_*_coding:utf-8_*_
__author__ = 'Alex Li'

import time

print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来
print(time.altzone)  #返回与utc时间的时间差,以秒计算\
print(time.asctime()) #返回时间格式"Fri Aug 19 11:14:16 2016",
print(time.localtime()) #返回本地时间 的struct time对象格式
print(time.gmtime(time.time()-800000)) #返回utc时间的struc时间对象格式

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

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

#将时间戳转为字符串格式
print(time.gmtime(time.time()-86640)) #将utc时间戳转换成struct_time格式
print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将utc struct_time格式转成指定的字符串格式

#时间加减
import datetime

print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925
print(datetime.date.fromtimestamp(time.time()) )  # 时间戳直接转成日期格式 2016-08-19
print(datetime.datetime.now() )
print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分

#
c_time  = datetime.datetime.now()
print(c_time.replace(minute=3,hour=2)) #时间替换
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: