python time 计算日期

来源:互联网 发布:中国联通塞班岛网络 编辑:程序博客网 时间:2024/05/20 20:18

计算week

因为issue report 很多情况下按周report,所以用Python实现自动issue tracking时难免会用第几周作为图形的下标

  def cal_label(self, date):
    m = re.search('(\d+)([^\d])(\d+)([^\d](\d+))', date)
    if self.step == 'all':
      res = 'all'
    elif self.step == 'year':
      res = m.group(1)
    elif self.step == 'month':
      res = r''.join(m.group(1,2,3))
    elif self.step == 'week':
      #TODO guard
      form = '%Y{0}%m{0}%d'.format(m.group(2))
      week = time.strftime('%W %w', time.strptime(date, form))
      [W, w] = re.split(' ', week)
      res = W + 'W'
    else:
      ValueError("can't support other format, %s" %(self.step))
    return(str(res))

这里引用一下‘一个人的天空’的博客,关于Python time module的详细用法可以去那里看:

http://www.cnblogs.com/qq78292959/archive/2013/03/22/2975786.html

这里已知‘2017/3/3’ format string, 所以先strptime成stuct_time然后strftime成format string,

%W表示第几周

%w表示本周的第几天

还有另一种方法用datetime

import datetime

datetime.datetime(2017,3,3).isocalendar()


0 0
原创粉丝点击