加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python学习笔记十五:日期时间处理笔记

发布时间:2020-12-17 00:04:11 所属栏目:Python 来源:网络整理
导读:div class="cnblogs_code" span style="color: #008000;"# span style="color: #008000;"给定日期向后N天的日期 span style="color: #0000ff;"def span style="color: #000000;" dateadd_day(days): d1 =span style="color: #000000;" datetime.datetime.now

<div class="cnblogs_code">


<span style="color: #008000;">#<span style="color: #008000;">给定日期向后N天的日期
<span style="color: #0000ff;">def
<span style="color: #000000;"> dateadd_day(days):
d1 =<span style="color: #000000;"> datetime.datetime.now()
d3 = d1 +<span style="color: #000000;"> datetime.timedelta(days)
<span style="color: #0000ff;">return<span style="color: #000000;"> d3

<span style="color: #008000;">#<span style="color: #008000;">昨天
<span style="color: #0000ff;">def<span style="color: #000000;"> getYesterday():
today =<span style="color: #000000;"> datetime.date.today()
oneday = datetime.timedelta(days=1<span style="color: #000000;">)
yesterday = today -<span style="color: #000000;"> oneday
<span style="color: #0000ff;">return<span style="color: #000000;"> yesterday

<span style="color: #008000;">#<span style="color: #008000;">今天
<span style="color: #0000ff;">def<span style="color: #000000;"> getToday():
<span style="color: #0000ff;">return<span style="color: #000000;"> datetime.date.today()

<span style="color: #008000;">#<span style="color: #008000;">获取给定参数的前几天的日期,返回一个list
<span style="color: #0000ff;">def<span style="color: #000000;"> getDaysBefore(num):
today =<span style="color: #000000;"> datetime.date.today()
oneday = datetime.timedelta(days=1<span style="color: #000000;">)
li =<span style="color: #000000;"> []
<span style="color: #0000ff;">for i <span style="color: #0000ff;">in<span style="color: #000000;"> range(0,num):
<span style="color: #008000;">#<span style="color: #008000;">今天减一天,一天一天减
today = today -<span style="color: #000000;"> oneday
<span style="color: #008000;">#<span style="color: #008000;">把日期转换成字符串
<span style="color: #000000;"> li.append(datetostr(today))
<span style="color: #0000ff;">return<span style="color: #000000;"> li

<span style="color: #008000;">#<span style="color: #008000;">将字符串转换成datetime类型
<span style="color: #0000ff;">def<span style="color: #000000;"> strtodatetime(datestr,format):
<span style="color: #0000ff;">return<span style="color: #000000;"> datetime.datetime.strptime(datestr,format)

<span style="color: #008000;">#<span style="color: #008000;">时间转换成字符串,格式为2015-02-02
<span style="color: #0000ff;">def<span style="color: #000000;"> datetostr(date):
<span style="color: #0000ff;">return str(date)[0:10<span style="color: #000000;">]

<span style="color: #008000;">#<span style="color: #008000;">时间转换成字符串,格式为2015-02-02
<span style="color: #0000ff;">def<span style="color: #000000;"> datetostr_secod(date):
<span style="color: #0000ff;">return str(date)[0:19<span style="color: #000000;">]

<span style="color: #008000;">#<span style="color: #008000;">两个日期相隔多少天,例:2015-2-04和2015-3-1
<span style="color: #0000ff;">def<span style="color: #000000;"> datediff(beginDate,endDate):
format = <span style="color: #800000;">"<span style="color: #800000;">%Y-%m-%d<span style="color: #800000;">"<span style="color: #000000;">
bd =<span style="color: #000000;"> strtodatetime(beginDate,format)
ed =<span style="color: #000000;"> strtodatetime(endDate,format)
oneday = datetime.timedelta(days=1<span style="color: #000000;">)
count =<span style="color: #000000;"> 0
<span style="color: #0000ff;">while bd !=<span style="color: #000000;"> ed:
ed = ed -<span style="color: #000000;"> oneday
count += 1
<span style="color: #0000ff;">return<span style="color: #000000;"> count

<span style="color: #008000;">#<span style="color: #008000;">两个日期之间相差的秒
<span style="color: #0000ff;">def<span style="color: #000000;"> datediff_seconds(beginDate,endDate):
format = <span style="color: #800000;">"<span style="color: #800000;">%Y-%m-%d %H:%M:%S<span style="color: #800000;">"
<span style="color: #0000ff;">if <span style="color: #800000;">" <span style="color: #800000;">" <span style="color: #0000ff;">not <span style="color: #0000ff;">in beginDate <span style="color: #0000ff;">or <span style="color: #800000;">'<span style="color: #800000;">:<span style="color: #800000;">' <span style="color: #0000ff;">not <span style="color: #0000ff;">in<span style="color: #000000;"> beginDate:
bformat = <span style="color: #800000;">"<span style="color: #800000;">%Y-%m-%d<span style="color: #800000;">"
<span style="color: #0000ff;">else<span style="color: #000000;">:
bformat =<span style="color: #000000;"> format
<span style="color: #0000ff;">if <span style="color: #800000;">" <span style="color: #800000;">" <span style="color: #0000ff;">not <span style="color: #0000ff;">in endDate <span style="color: #0000ff;">or <span style="color: #800000;">'<span style="color: #800000;">:<span style="color: #800000;">' <span style="color: #0000ff;">not <span style="color: #0000ff;">in<span style="color: #000000;"> endDate:
eformat = <span style="color: #800000;">"<span style="color: #800000;">%Y-%m-%d<span style="color: #800000;">"
<span style="color: #0000ff;">else<span style="color: #000000;">:
eformat =<span style="color: #000000;"> format
starttime =<span style="color: #000000;"> strtodatetime(beginDate,bformat)
endtime =<span style="color: #000000;"> strtodatetime(endDate,eformat)
ret = endtime -<span style="color: #000000;"> starttime
<span style="color: #0000ff;">return ret.days * 86400 +<span style="color: #000000;"> ret.seconds

<span style="color: #008000;">#<span style="color: #008000;">获取两个时间段的所有时间,返回list
<span style="color: #0000ff;">def<span style="color: #000000;"> getDays(beginDate,endDate):
format = <span style="color: #800000;">"<span style="color: #800000;">%Y-%m-%d<span style="color: #800000;">"<span style="color: #000000;">
begin =<span style="color: #000000;"> strtodatetime(beginDate,format)
oneday = datetime.timedelta(days=1<span style="color: #000000;">)
num = datediff(beginDate,endDate) + 1<span style="color: #000000;">
li =<span style="color: #000000;"> []
<span style="color: #0000ff;">for i <span style="color: #0000ff;">in<span style="color: #000000;"> range(0,num):
li.append(datetostr(begin))
begin = begin +<span style="color: #000000;"> oneday
<span style="color: #0000ff;">return<span style="color: #000000;"> li

<span style="color: #008000;">#<span style="color: #008000;">获取当前年份 是一个字符串
<span style="color: #0000ff;">def getYear(date=<span style="color: #000000;">datetime.date.today()):
<span style="color: #0000ff;">return str(date)[0:4<span style="color: #000000;">]

<span style="color: #008000;">#<span style="color: #008000;">获取当前月份 是一个字符串
<span style="color: #0000ff;">def getMonth(date=<span style="color: #000000;">datetime.date.today()):
<span style="color: #0000ff;">return str(date)[5:7<span style="color: #000000;">]

<span style="color: #008000;">#<span style="color: #008000;">获取当前天 是一个字符串
<span style="color: #0000ff;">def getDay(date=<span style="color: #000000;">datetime.date.today()):
<span style="color: #0000ff;">return str(date)[8:10<span style="color: #000000;">]

<span style="color: #008000;">#<span style="color: #008000;">获取当前小时 是一个字符串
<span style="color: #0000ff;">def getHour(date=<span style="color: #000000;">datetime.datetime.now()):
<span style="color: #0000ff;">return str(date)[11:13<span style="color: #000000;">]

<span style="color: #008000;">#<span style="color: #008000;">获取当前分钟 是一个字符串
<span style="color: #0000ff;">def getMinute(date=<span style="color: #000000;">datetime.datetime.now()):
<span style="color: #0000ff;">return str(date)[14:16<span style="color: #000000;">]

<span style="color: #008000;">#<span style="color: #008000;">获取当前秒 是一个字符串
<span style="color: #0000ff;">def getSecond(date=<span style="color: #000000;">datetime.datetime.now()):
<span style="color: #0000ff;">return str(date)[17:19<span style="color: #000000;">]

<span style="color: #0000ff;">def<span style="color: #000000;"> getNow():
<span style="color: #0000ff;">return<span style="color: #000000;"> datetime.datetime.now()

<span style="color: #0000ff;">print dateadd_day(10<span style="color: #000000;">)
<span style="color: #008000;">#<span style="color: #008000;">2015-02-14 16:41:13.275000

<span style="color: #0000ff;">print<span style="color: #000000;"> getYesterday()
<span style="color: #008000;">#<span style="color: #008000;">2015-02-03

<span style="color: #0000ff;">print<span style="color: #000000;"> getToday()
<span style="color: #008000;">#<span style="color: #008000;">2015-02-04

<span style="color: #0000ff;">print getDaysBefore(3<span style="color: #000000;">)
<span style="color: #008000;">#<span style="color: #008000;">['2015-02-03','2015-02-02','2015-02-01']

<span style="color: #0000ff;">print datediff(<span style="color: #800000;">'<span style="color: #800000;">2015-2-01<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">2015-10-05<span style="color: #800000;">'<span style="color: #000000;">)
<span style="color: #008000;">#<span style="color: #008000;">246

<span style="color: #0000ff;">print datediff_seconds(<span style="color: #800000;">'<span style="color: #800000;">2015-02-04<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">2015-02-05<span style="color: #800000;">'<span style="color: #000000;">)
<span style="color: #008000;">#<span style="color: #008000;">86400

<span style="color: #0000ff;">print datediff_seconds(<span style="color: #800000;">'<span style="color: #800000;">2015-02-04 22:00:00<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">2015-02-05<span style="color: #800000;">'<span style="color: #000000;">)
<span style="color: #008000;">#<span style="color: #008000;">7200

<span style="color: #0000ff;">print getDays(<span style="color: #800000;">'<span style="color: #800000;">2015-2-03<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">2015-2-05<span style="color: #800000;">'<span style="color: #000000;">)
<span style="color: #008000;">#<span style="color: #008000;">['2015-02-03','2015-02-04','2015-02-05']

<span style="color: #0000ff;">print<span style="color: #000000;"> datetostr_secod(getNow())
<span style="color: #008000;">#<span style="color: #008000;">2015-02-04 16:46:47

<span style="color: #0000ff;">print str(getYear(dateadd_day(-50))) + <span style="color: #800000;">'<span style="color: #800000;">-<span style="color: #800000;">'<span style="color: #000000;">
+ getMonth() + <span style="color: #800000;">'<span style="color: #800000;">-<span style="color: #800000;">'<span style="color: #000000;">
+ getDay() + <span style="color: #800000;">' <span style="color: #800000;">'<span style="color: #000000;">
+ getHour() + <span style="color: #800000;">'<span style="color: #800000;">:<span style="color: #800000;">'<span style="color: #000000;">
+ getMinute() + <span style="color: #800000;">'<span style="color: #800000;">:<span style="color: #800000;">'<span style="color: #000000;">
+<span style="color: #000000;"> getSecond()
<span style="color: #008000;">#<span style="color: #008000;">2014-02-04 16:59:04

<span style="color: #0000ff;">print<span style="color: #000000;"> getNow()
<span style="color: #008000;">#<span style="color: #008000;">2015-02-04 16:46:47.454000

备用

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读