python时间操作

python时间操作,最近用的比较多,网上各种搜罗,下面这些函数都是我在实际中经常用到的:

import sys
import datetime
import commands
# python datetime获取几分钟、小时、天之前的时间
## 前一天
(datetime.datetime.now()-datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M")
## 前一个小时
(datetime.datetime.now()-datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M")
## 前一分钟
(datetime.datetime.now()-datetime.timedelta(minutes=1)).strftime("%Y-%m-%d %H:%M")
## 前一秒
(datetime.datetime.now()-datetime.timedelta(seconds=1)).strftime("%Y-%m-%d %H:%M")

# 获取起始中间所有日期,返回一个list
def getDays(starttime,endtime,regx):
    datestart=datetime.datetime.strptime(starttime,regx)
    dateend=datetime.datetime.strptime(endtime,regx)
    days = []
    while datestart<=dateend:
        days.append(datestart.strftime(regx))
        datestart+=datetime.timedelta(days=1)
    return days

# 获得指定时间的前 n 天的年、月、日,n取负数往前,否则往后
def getExacYes(day, regx, n):
    return (datetime.datetime.strptime(day,regx) + datetime.timedelta(days=n)).strftime(regx)

# 获得距离现在天数的年、月、日,n 取值正负含义同上,昨天就是getYes(regx,-1)
def getYes(regx, n):
    now_time = datetime.datetime.now()
    yes_time = now_time + datetime.timedelta(days=n)
    yes_time_nyr = yes_time.strftime(regx)
    return yes_time_nyr

# 执行hive命令
def execHive(cmd):
    print cmd
    res = commands.getstatusoutput(cmd)
    return res

# 获得当前是星期几
def getWeek(regx):
    now_time = datetime.datetime.now()
    week = now_time.strftime(regx)
    return week

# 格式化日期,加上双引号
def formatDate(day):
    return "\"" + day + "\""

你可能感兴趣的:(python)