How can I get the current week using Python?

前端 未结 7 1538
夕颜
夕颜 2020-12-15 22:57

Using Python...

How can I get a list of the days in a specific week?

Something like...

{
\'1\' : [\'01/03/2010\',\'01/04/2010\',\'01/05/2010\         


        
7条回答
  •  温柔的废话
    2020-12-15 23:10

    There is a 3 lines method I developed after read that question:

    from datetime import timedelta
    
    def get_week_dates(base_date, start_day, end_day=None):
        """
        Return entire week of dates based on given date limited by start_day and end_day.
        If end_day is None, return only start_day.
    
        >>> from datetime import date
        >>> get_week_dates(date(2015,1,16), 3, 5)
        [datetime.date(2015, 1, 14), datetime.date(2015, 1, 15), datetime.date(2015, 1, 16)]
    
        >>> get_week_dates(date(2015,1,15), 2, 5)
        [datetime.date(2015, 1, 13), datetime.date(2015, 1, 14), datetime.date(2015, 1, 15), datetime.date(2015, 1, 16)]
        """
        monday = base_date - timedelta(days=base_date.isoweekday() - 1)
        week_dates = [monday + timedelta(days=i) for i in range(7)]
        return week_dates[start_day - 1:end_day or start_day]
    

    Use get_week_dates(date.today(), 1, 7) to get current week dates.

提交回复
热议问题