Examples of commonly used date and time operation methods in Python

From , 5 Years ago, written in Python, viewed 170 times.
URL https://pastebin.vip/view/d384dec9
  1. #-*- coding: utf-8 -*-
  2. import datetime
  3.  
  4.  
  5. #给定日期向后N天的日期
  6. def dateadd_day(days):
  7.   d1 = datetime.datetime.now()
  8.   d3 = d1 + datetime.timedelta(days)
  9.   return d3
  10.  
  11.  
  12. #昨天
  13. def getYesterday():
  14.   today = datetime.date.today()
  15.   oneday = datetime.timedelta(days=1)
  16.   yesterday = today - oneday
  17.   return yesterday
  18.  
  19.  
  20. #今天
  21. def getToday():
  22.   return datetime.date.today()
  23.  
  24.  
  25. #获取给定参数的前几天的日期,返回一个list
  26. def getDaysBefore(num):
  27.   today = datetime.date.today()
  28.   oneday = datetime.timedelta(days=1)
  29.   li = []
  30.   for i in range(0, num):
  31.     #今天减一天,一天一天减
  32.     today = today - oneday
  33.     #把日期转换成字符串
  34.     li.append(datetostr(today))
  35.   return li
  36.  
  37.  
  38. #将字符串转换成datetime类型
  39. def strtodatetime(datestr, format):
  40.   return datetime.datetime.strptime(datestr, format)
  41.  
  42.  
  43. #时间转换成字符串,格式为2015-02-02
  44. def datetostr(date):
  45.   return str(date)[0:10]
  46.  
  47.  
  48. #时间转换成字符串,格式为2015-02-02
  49. def datetostr_secod(date):
  50.   return str(date)[0:19]
  51.  
  52.  
  53. #两个日期相隔多少天,例:2015-2-04和2015-3-1
  54. def datediff(beginDate, endDate):
  55.   format = "%Y-%m-%d"
  56.   bd = strtodatetime(beginDate, format)
  57.   ed = strtodatetime(endDate, format)
  58.   oneday = datetime.timedelta(days=1)
  59.   count = 0
  60.   while bd != ed:
  61.     ed = ed - oneday
  62.     count += 1
  63.   return count
  64.  
  65.  
  66. #两个日期之间相差的秒
  67. def datediff_seconds(beginDate, endDate):
  68.   format = "%Y-%m-%d %H:%M:%S"
  69.   if " " not in beginDate or ':' not in beginDate:
  70.     bformat = "%Y-%m-%d"
  71.   else:
  72.     bformat = format
  73.   if " " not in endDate or ':' not in endDate:
  74.     eformat = "%Y-%m-%d"
  75.   else:
  76.     eformat = format
  77.   starttime = strtodatetime(beginDate, bformat)
  78.   endtime = strtodatetime(endDate, eformat)
  79.   ret = endtime - starttime
  80.   return ret.days * 86400 + ret.seconds
  81.  
  82.  
  83. #获取两个时间段的所有时间,返回list
  84. def getDays(beginDate, endDate):
  85.   format = "%Y-%m-%d"
  86.   begin = strtodatetime(beginDate, format)
  87.   oneday = datetime.timedelta(days=1)
  88.   num = datediff(beginDate, endDate) + 1
  89.   li = []
  90.   for i in range(0, num):
  91.     li.append(datetostr(begin))
  92.     begin = begin + oneday
  93.   return li
  94.  
  95.  
  96. #获取当前年份 是一个字符串
  97. def getYear(date=datetime.date.today()):
  98.   return str(date)[0:4]
  99.  
  100.  
  101. #获取当前月份 是一个字符串
  102. def getMonth(date=datetime.date.today()):
  103.   return str(date)[5:7]
  104.  
  105.  
  106. #获取当前天 是一个字符串
  107. def getDay(date=datetime.date.today()):
  108.   return str(date)[8:10]
  109.  
  110.  
  111. #获取当前小时 是一个字符串
  112. def getHour(date=datetime.datetime.now()):
  113.   return str(date)[11:13]
  114.  
  115.  
  116. #获取当前分钟 是一个字符串
  117. def getMinute(date=datetime.datetime.now()):
  118.   return str(date)[14:16]
  119.  
  120.  
  121. #获取当前秒 是一个字符串
  122. def getSecond(date=datetime.datetime.now()):
  123.   return str(date)[17:19]
  124.  
  125.  
  126. def getNow():
  127.   return datetime.datetime.now()
  128.  
  129.  
  130. print dateadd_day(10)
  131. #2015-02-14 16:41:13.275000
  132.  
  133. print getYesterday()
  134. #2015-02-03
  135.  
  136. print getToday()
  137. #2015-02-04
  138.  
  139. print getDaysBefore(3)
  140. #['2015-02-03', '2015-02-02', '2015-02-01']
  141.  
  142. print datediff('2015-2-01', '2015-10-05')
  143. #246
  144.  
  145. print datediff_seconds('2015-02-04', '2015-02-05')
  146. #86400
  147.  
  148. print datediff_seconds('2015-02-04 22:00:00', '2015-02-05')
  149. #7200
  150.  
  151. print getDays('2015-2-03', '2015-2-05')
  152. #['2015-02-03', '2015-02-04', '2015-02-05']
  153.  
  154. print datetostr_secod(getNow())
  155. #2015-02-04 16:46:47
  156.  
  157. print str(getYear(dateadd_day(-50))) + '-'\
  158.   + getMonth() + '-'\
  159.   + getDay() + ' '\
  160.   + getHour() + ':'\
  161.   + getMinute() + ':'\
  162.   + getSecond()
  163. #2014-02-04 16:59:04
  164.  
  165. print getNow()
  166. #2015-02-04 16:46:47.454000
  167. #//python/9081

Reply to "Examples of commonly used date and time operation methods in Python"

Here you can reply to the paste above

captcha

https://burned.cc - Burn After Reading Website