当前位置: 首页>>代码示例>>Python>>正文


Python DateTime.dow方法代码示例

本文整理汇总了Python中DateTime.DateTime.dow方法的典型用法代码示例。如果您正苦于以下问题:Python DateTime.dow方法的具体用法?Python DateTime.dow怎么用?Python DateTime.dow使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DateTime.DateTime的用法示例。


在下文中一共展示了DateTime.dow方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: getDateRangeFromWeek

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import dow [as 别名]
    def getDateRangeFromWeek(self, start_week, start_year, end_week=None, end_year=None):
        """Returns tuple of DateTime. Compute this tuple from weeks. A week
        begins monday and ends sunday.
        """
        if end_week is None:
            end_week = start_week

        if end_year is None:
            end_year = start_year

        # Get first day of start year
        date_first_day = DateTime(start_year, 1, 1)
        day_minus = (date_first_day.dow() - 1) % 7
        day_plus = 0
        start_day = (start_week * 7) - 6 - day_minus
        start_date = DateTime(start_year, start_day)

        if start_date.week() != start_week:
            day_plus = 7
            start_date = start_date + day_plus

        # Get first day of end year
        date_first_day = DateTime(end_year, 1, 1)
        day_minus = (date_first_day.dow() - 1) % 7
        end_day = (end_week * 7) - day_minus + day_plus
        end_date = DateTime(end_year, end_day)

        # Finished at 23:59:59
        end_date = DateTime(end_date.year(),
                      end_date.month(),
                      end_date.day(),
                      23, 59, 59)

        return (start_date, end_date)
开发者ID:RedTurtle,项目名称:Products.PloneBooking,代码行数:36,代码来源:DateManager.py

示例2: getAny

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import dow [as 别名]
    def getAny(self,query_year=None):
        """
        """

        hores_s = ['horesatreballargeneriques','horesatreballar','horestreballades','horesimputables','horesimputades','horespendents','horesvacances','horespermisos']
        query = self.request.get('query',query_year)
        start_date = query==None and ('01','01',self.now[2]) or tuple(query.split('-')[::-1])
        year = start_date[2]
        start_month = int(start_date[1])
        start_day = start_date[0]

        fdom = DateTime('%s-01-01' % (year))
        fdom_dow = fdom.dow()==0 and 7 or fdom.dow()
        fdow = addDays(fdom,(fdom_dow*-1)+1)

        needHistoric = self.needHistoric(self.now,DateTimeToTT(fdom))
        dies = self.getDies(needHistoric,first_day=fdom,last_day=lastDayOfYear(fdom))


        mesos = []

        #inicialitzar totes les variables d'hores a 0
        totals = {}
        for hs in hores_s:
            totals[hs]='00:00'

        for nummonth in range(1,13):
            startday = start_month==nummonth and start_day or '01'
            query_date = '%s-%02d-%s' % (year,nummonth,startday)
            print query_date
            newneedHistoric = self.needHistoric(self.now,DateTimeToTT(DateTime(query_date)))
            if newneedHistoric!=needHistoric:
                needHistoric = newneedHistoric
                dtq = DateTime(query_date)
                dies = self.getDies(needHistoric,first_day=dtq,last_day=lastDayOfYear(dtq))
            mes = self.getMes(query_date=query_date,dies_param=dies)

            if nummonth<start_month:
                # incialitzar les varibles d'hores del mes a 0 si estem filtrant
                for hs in hores_s:
                    mes[hs]='00:00'                                                          

            mes['query_date']=query_date

            # suma totes les variables d'hores de cada mes als totals
            for hs in hores_s:
                totals[hs]=sumaHM(totals[hs],mes[hs])

            mesos.append(mes)

        totals['horespendents']=MinutsAHM(HMaMinuts(totals['horesatreballar'])-HMaMinuts(totals['horestreballades']))

        minutsvacances = HMaMinuts(totals['horesvacances'])
        diesvacances = minutsvacances/(7*60)
        restahoresvacances = (minutsvacances - (diesvacances*7*60))/60
        totals['dv']=diesvacances
        totals['hv']=restahoresvacances

        return dict(title=year,mesos=mesos,totals=totals)
开发者ID:sneridagh,项目名称:epi,代码行数:61,代码来源:dashboard.py

示例3: getMes

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import dow [as 别名]
    def getMes(self,query_date=None, dies_param=None):
        """
        """
        self.options = self.epiUtility.getEPIOptions(self.request, self.username)
        self.descompte_descans = self.options['descomptar_30'] and 30 or 0


        query = query_date==None and self.request.get('query','%s-%s-%s' % (self.now[2],self.now[1],'01')) or query_date
        base = query==None and DateTime() or DateTime(query)
        base = base.earliestTime()

        fdom = DateTime('%d-%02d-%02d' % (base.year(), base.month(), base.day()) )
        fdom_dow = fdom.dow()==0 and 7 or fdom.dow()
        fdow = addDays(fdom,(fdom_dow*-1)+1)
        week = 0

        # Si estem executant la vista anual, ja haurem recollit els dies, i els tindrem a dies_param
        # d'aquesta manera ens evitem les inicialitzacions de presencia i gestor que es fan a getDies, (tot i cachejades, cnosumeixen algun segon)
        # i fem 1 única petició per tot l'historic
        dies = dies_param==None and self.getDies(self.needHistoric(self.now,DateTimeToTT(fdom)),first_day=fdom,last_day=lastDayOfMonth(fdom)) or dies_param

        setmanes = []

        mes = dict( id='%d%s' % (base.year(), base.month().__str__().rjust(2,'0')),
                    monthname=MONTH_NAMES[base.Month()],
                    year=base.year(),
                    horesatreballargeneriques='00:00',
                    horestreballades='00:00',
                    horesatreballar='00:00',
                    horesimputades='00:00',
                    horesimputables='00:00',
                    horespermisos='00:00',
                    horesvacances='00:00',
                    setmanes = [],
                    mesanterior = self.getPreviousMonth(fdom),
                    messeguent = fdom.year()!=self.now[2] and self.getNextMonth(fdom) or None
                    )
        while fdow.month()==base.month() or week==0:
            setmana = self.getSetmana(dies,fdow,day_filter=base)
            if setmana['dies']!=[]:
                setmanes.insert(0,setmana)
                mes['horesatreballar']=sumaHM(mes['horesatreballar'],setmana['horesatreballar'])
                mes['horesatreballargeneriques']=sumaHM(mes['horesatreballargeneriques'],setmana['horesatreballargeneriques'])
                mes['horestreballades']=sumaHM(mes['horestreballades'],setmana['horestreballades'])
                mes['horesimputables']=sumaHM(mes['horesimputables'],setmana['horesimputables'])
                mes['horesimputades']=sumaHM(mes['horesimputades'],setmana['horesimputades'])
                mes['horespermisos']=sumaHM(mes['horespermisos'],setmana['horespermisos'])
                mes['horesvacances']=sumaHM(mes['horesvacances'],setmana['horesvacances'])
            week = week+1
            fdow = addDays(fdow,7)
        mes['setmanes']=setmanes
        try:
            mes['percentatgeimputat']= '%.1f' % ( (HMaMinuts(mes['horesimputades'])*100)/HMaMinuts(mes['horesimputables']) )
        except:
            mes['percentatgeimputat']= 0
        mes['horespendents'] = MinutsAHM(HMaMinuts(mes['horesatreballar'])-HMaMinuts(mes['horestreballades']))
        return mes
开发者ID:sneridagh,项目名称:epi,代码行数:59,代码来源:dashboard.py

示例4: getMonthGrid

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import dow [as 别名]
 def getMonthGrid(self, month):
     '''Creates a list of lists of DateTime objects representing the calendar
        grid to render for a given p_month.'''
     # Month is a string "YYYY/mm".
     currentDay = DateTime('%s/01 12:00' % month)
     currentMonth = currentDay.month()
     res = [[]]
     dayOneNb = currentDay.dow() or 7 # This way, Sunday is 7 and not 0.
     if dayOneNb != 1:
         previousDate = DateTime(currentDay)
         # If the 1st day of the month is not a Monday, start the row with
         # the last days of the previous month.
         for i in range(1, dayOneNb):
             previousDate = previousDate - 1
             res[0].insert(0, previousDate)
     finished = False
     while not finished:
         # Insert currentDay in the grid
         if len(res[-1]) == 7:
             # Create a new row
             res.append([currentDay])
         else:
             res[-1].append(currentDay)
         currentDay = currentDay + 1
         if currentDay.month() != currentMonth:
             finished = True
     # Complete, if needed, the last row with the first days of the next
     # month.
     if len(res[-1]) != 7:
         while len(res[-1]) != 7:
             res[-1].append(currentDay)
             currentDay = currentDay + 1
     return res
开发者ID:sephii,项目名称:appy,代码行数:35,代码来源:calendar.py

示例5: lectureTakesPlace

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import dow [as 别名]
    def lectureTakesPlace(self, datetime=None):
        """
        Return True if the lecture takes place on the given date. If
        no date is specified, the current date will be used.

        TODO: Currently not implemented for monthly and yearly recurrence.
        """
        
        result = False
        if not datetime:
            datetime = DateTime()

        if datetime >= self.startDate.earliestTime() \
               and datetime <= self.endDate.latestTime():
            if self.recurrence == NO_RECURRENCE:
                result = self.startDate.isCurrentDay()
            elif self.recurrence == DAILY:
                result = True
            elif self.recurrence == WEEKLY:
                result = datetime.dow() == self.startDate.dow()
            elif self.recurrence == MONTHLY:
                # TODO
                result = False
            elif self.recurrence == YEARLY:
                # TODO
                result = False
        return result
开发者ID:collective,项目名称:ECLecture,代码行数:29,代码来源:ECLecture.py

示例6: getSetmanes

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import dow [as 别名]
    def getSetmanes(self):
        """
        """
        self.options = self.epiUtility.getEPIOptions(self.request, self.username)
        self.descompte_descans = self.options['descomptar_30'] and 30 or 0

        NUMSETMANES = 4
        setmanes = []
        now = DateTime()
        dow = now.dow()==0 and 7 or now.dow()
        #fdofw = primer dia de la primera setmana que mostrarem segons NUMSETMANES a mostrar
        fdofw = addDays(now,1-dow-(NUMSETMANES*7))
        dies = self.getDies(first_day = fdofw,last_day = lastDayOfWeek())
        for setmana in range(0,NUMSETMANES):
            diesarestar = 7*setmana
            fdow = addDays(now,1-dow-diesarestar)
            setmanes.append(self.getSetmana(dies,fdow))
        return setmanes
开发者ID:sneridagh,项目名称:epi,代码行数:20,代码来源:dashboard.py

示例7: testsNextWeek

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import dow [as 别名]
 def testsNextWeek(self):
     today = DateTime()
     dow = today.dow()
     firstDayOfNextWeek = today - dow + 7
     lastDayOfNextWeek = today + (6 - dow) + 7
     self.reportTitle = 'Tests Next Week: %s - %s' % (firstDayOfNextWeek.strftime(self.dateFormat), lastDayOfNextWeek.strftime(self.dateFormat))
     brains = self.portal_catalog.searchResults(sort_on='testDate', portal_type='BlueSheet',
                                                    review_state=self.statesFromOfficeApprovalToAdministerTest)
     filteredBrains = filter((lambda b: b['testDate'] >= firstDayOfNextWeek.earliestTime() and b['testDate'] <= lastDayOfNextWeek.latestTime()), brains)
     self.results = self._convertBrainsToResultsDict(filteredBrains)
     return self.resultTemplate()
开发者ID:uwosh,项目名称:UWOshSuccess,代码行数:13,代码来源:report.py

示例8: getDate

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import dow [as 别名]
    def getDate(self, globdate='', new_year='', new_month='', new_day=''):
        today = DateTime()
        year,month,day = today.year(), today.month(), today.day()
        today_start = DateTime(year, month, day)

        if globdate == 'today':
            return today_start
        elif globdate == 'tomorrow':
            return today_start + 1
        elif globdate == 'thisweek':
            dow = today.dow()
            return today_start + 5 - dow
        elif globdate == 'nextweek':
            dow = today.dow()
            return today_start + 12 - dow
        elif globdate == 'later':
            return None
        else:
            if not new_year or not new_month or not new_day:
                return None
            try:
                return DateTime(int(new_year), int(new_month), int(new_day))
            except:
                return 'Error'
开发者ID:austgl,项目名称:everydo-project,代码行数:26,代码来源:utils.py

示例9: __init__

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import dow [as 别名]
    def __init__(self, context, request):
        super(WeekReport, self).__init__(context, request)

        start = self.request.get('startdate', None)
        if start:
            start = DateTime(start)
        else:
            start = DateTime()
        self.start = start.earliestTime() - (start.dow() - 1) % 7 # Find monday
        self.end = self.start + 7 # next monday 00:00
        self.now = DateTime()

        self.tool = getToolByName(context, TOOLNAME)
        self.ettool = getToolByName(self.context, 'extropy_timetracker_tool')
        self.barview = getMultiAdapter((self.context, self.request),
                                       name=u'smallprogressbar')
开发者ID:Blaastolen,项目名称:intranett,代码行数:18,代码来源:weeklyplanning.py

示例10: totals

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import dow [as 别名]
    def totals(self):
        """Gets the content."""
        etool = getToolByName(self.context, TIMETOOLNAME)
        membership = getToolByName(self.context, 'portal_membership')
        portal = self.portal_state.portal()
        now = DateTime()
        startOfWeek = now.earliestTime() - (now.dow()-1)%7
        endOfWeek = (startOfWeek + 6).latestTime()

        brains = list(etool.getHours(node=portal, start=startOfWeek,
                                      end=endOfWeek, REQUEST=None))
        results = []
        creator = attrgetter('Creator')
        brains.sort(key=creator)
        for person, hours in groupby(brains, creator):
            member = membership.getMemberInfo(person)
            fullname = member.get('fullname', person)
            results.append(((fullname, person), etool.countHours(hours)))
        results.sort()
        return results
开发者ID:Blaastolen,项目名称:intranett,代码行数:22,代码来源:workedhoursthisweekPortlet.py

示例11: DateToPeriod

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import dow [as 别名]
def DateToPeriod(period="week", date=None):
    """Return the start and end dates for a time period defined by a
    length and a date.
    """

    if date is None:
        date=DateTime()

    if period=="day":
        start=date.earliestTime()
        end=date.latestTime()
    elif period=="week":
        start=(date-((date.dow()+6)%7)).earliestTime()
        end=(start+6).latestTime()
    elif period=="month":
        start=(date-(date.day()-1)).earliestTime()
        end=(start+31).latestTime()
        if end.day()<28:
            end-=end.day()
    else:
        raise ValueError("undefined period")

    return (start, end)
开发者ID:Blaastolen,项目名称:intranett,代码行数:25,代码来源:worklog.py

示例12: getAllItemsByDue

# 需要导入模块: from DateTime import DateTime [as 别名]
# 或者: from DateTime.DateTime import dow [as 别名]
    def getAllItemsByDue(self, getResponsibleParty=''):

        now = DateTime()
        today = DateTime(now.year(), now.month(), now.day())

        ctool = getToolByName(self.context, 'portal_catalog')

        #在站点首页显示所有项目的活动任务,在项目中仅显示当前项目(或任务列表)的活动任务
        if self.context.getPortalTypeName()=='Plone Site':
            active_projects = ctool(portal_type='Project', review_state='active')
            paths = [p.getPath() for p in active_projects]
        else:
            paths = '/'.join(self.context.getPhysicalPath())

        # 加一个判断,可让按时间分组的任务显示所有的任务
        if getResponsibleParty=='ALL':
            results = ctool.searchResults( path = paths, portal_type = 'TodoItem', review_state = 'active',)
        else:
            results = ctool.searchResults(
               path = paths,
               portal_type = 'TodoItem',
               review_state = 'active',
               getResponsibleParty=[getResponsibleParty],
               )

        last_items, today_items, tomorrow_items, this_week_items, next_week_items, other_items, no_end_items = [], [], [], [], [], [], [] 
        for item in results:
            path = item.getPath().split('/')
            projectid = path[-4]
            listid = path[-2]
            item_info = (item, projectid, listid)

            if not item.end:
                no_end_items.append(item_info)

            else:
                item_end = item.end
                end_time = DateTime(item_end.year(), item_end.month(), item_end.day())

                dow = today.dow()
                to_date = end_time - today

                if to_date < 0:
                    last_items.append(item_info)
                elif to_date == 0:
                    today_items.append(item_info)
                elif to_date == 1:
                    tomorrow_items.append(item_info)
                elif to_date in range(2, 8):
                    this_week_items.append(item_info) 
                elif to_date in range(9, 15):
                    next_week_items.append(item_info)
                else:
                    other_items.append(item_info)

        last_items.sort(lambda x,y:cmp(x[0].end, y[0].end))
        this_week_items.sort(lambda x,y:cmp(x[0].end, y[0].end))
        next_week_items.sort(lambda x,y:cmp(x[0].end, y[0].end))
        other_items.sort(lambda x,y:cmp(x[0].end, y[0].end))
        
        return last_items, today_items, tomorrow_items, this_week_items, next_week_items, other_items, no_end_items     
开发者ID:austgl,项目名称:everydo-project,代码行数:63,代码来源:todo.py


注:本文中的DateTime.DateTime.dow方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。