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

引言
时间日期操作在我们的日常编程中,应用极为广泛。简单到预计程序执行的时间问题,复杂到我们平常的定时任务,或者时间约束等(比如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 time
import 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值