python模块系列(三)之操作时间日期

来源:互联网 发布:时尚穿衣软件 编辑:程序博客网 时间:2024/05/18 00:00

引言
时间日期操作在我们的日常编程中,应用极为广泛。简单到预计程序执行的时间问题,复杂到我们平常的定时任务,或者时间约束等(比如n天、n小时、n分钟之前或之后的时间和日期等)。python中时间日期相关的模块包括:time,datetime 以及 calendar

说明:
在Python中,通常有这几种方式来表示时间:
1)时间戳(距离1970年的秒数)
2) 格式化的时间字符串
3)元组(struct_time)共九个元素(不便展开介绍,可baidu)

1.datatime模块介绍

常用对象解释如下所示

from datatime import datatime

对象 解释 常用属性 datetime.date 表示日期的对象 year, month, day datetime.time 表示时间的对象 hour, minute, second, microsecond datetime.timedelta 表示两个日期或时间之间的间隔 datetime.datetime 表示日期和时间的类 year, month, day, hour, minute, second, microsecond

以上最常用的对象是datatime.datatime,下面介绍常用的函数

函数名 功能描述 例子 now() 得到当前时间 now() strptime(p1,p2) 将字符串转化成特定的时间格式 strptime(‘2016-6-1 18:19:59’, ‘%Y-%m-%d %H:%M:%S’) timedelta(days=0, seconds=0, minutes=0, hours=0) 时间日期加减运算 now()+timedelta(days=10)

2.time模块介绍

import time

函数 功能 举例 time.sleep(seconds) 休眠 time.sleep(60) time.localtime([timestamp]) 将时间戳转化为元组形式 time.localtime() time.time() 返回当前时间的时间戳 time.time() time.strftime(format[, t]) 把时间的元组转化为格式化的时间字符 time.strftime(‘%m:%d %H:%m’,time.localtime()) time.strptime(string[, format]) 把时间字符串转化为时间元组 time.strptime(‘2016 10:28’, ‘%Y %m:%d’)

相互转化关系见下图:
这里写图片描述

3.实战

import timeimport datetime"""获得n小时之前的时间,通过修改timelocaltime()中的时间戳参数可以变成获得任意n天、小时、分、秒之前或之后的时间格式"""def get_nHours(n):    before_12hours= time.strftime('%m:%d %H:%m', time.localtime(time.time() - n * 60 * 60))    if timestr>before_12hours:        return True    return False"""判断给定日期是否在距离今天n天之内...,timestr时间格式为07-12,10-23等"""def isindays(timestr,n_days):    nDayAgo=(datetime.datetime.now()-datetime.timedelta(days=n_days))    ndayAgo_str=nDayAgo.strftime('%m-%d')    if ndayAgo_str>timestr:        return False    else:        return True"""计算程序执行的时间"""def calculate():    start=datetime.datetime.now()    time.sleep(60)    second=(datetime.datetime.now()-start).seconds    print("程序运行了%d秒"%second)

4.关于时间日期系列,我本身也是不是很熟练,都是用一些很常用的函数,今天正好有时间整理一下,方便以后使用。其中还参考了一些好文章,我只是粗略的讲解下,详细见文章地址如下:http://www.jb51.net/article/49326.htm

0 0
原创粉丝点击