def ks_date_series_l(ks_date_selection, timezone, type): ks_date_data = {} date_filter_options = { 'day': 0, 'week': 7, 'month': 30, 'quarter': 90, 'year': 365, 'past': False, 'future': False } end_time = datetime.strptime( datetime.now(pytz.timezone(timezone)).strftime("%Y-%m-%d 23:59:59"), '%Y-%m-%d %H:%M:%S') start_time = datetime.strptime( (datetime.now(pytz.timezone(timezone)) - timedelta(days=date_filter_options[ks_date_selection]) ).strftime("%Y-%m-%d 00:00:00"), '%Y-%m-%d %H:%M:%S') if type == 'date': ks_date_data["selected_end_date"] = datetime.strptime( end_time.strftime("%Y-%m-%d"), '%Y-%m-%d') ks_date_data["selected_start_date"] = datetime.strptime( start_time.strftime("%Y-%m-%d"), '%Y-%m-%d') else: ks_date_data["selected_end_date"] = ks_convert_into_utc( end_time, timezone) ks_date_data["selected_start_date"] = ks_convert_into_utc( start_time, timezone) return ks_date_data
def ks_get_date_range_from_quarter(date_state, timezone, type, self): ks_date_data = {} date = datetime.now(pytz.timezone(timezone)) year = date.year quarter = int((date.month - 1) / 3) + 1 if date_state == "previous": quarter -= 1 if quarter == 0: quarter = 4 year -= 1 elif date_state == "next": quarter += 1 if quarter == 5: quarter = 1 year += 1 start_date = datetime(year, 3 * quarter - 2, 1) month = 3 * quarter remaining = int(month / 12) end_date = datetime(year + remaining, month % 12 + 1, 1) - timedelta(seconds=1) if type == 'date': ks_date_data["selected_start_date"] = datetime.strptime( start_date.strftime("%Y-%m-%d"), '%Y-%m-%d') ks_date_data["selected_end_date"] = datetime.strptime( end_date.strftime("%Y-%m-%d"), '%Y-%m-%d') else: ks_date_data["selected_start_date"] = ks_convert_into_utc( start_date, timezone) ks_date_data["selected_end_date"] = ks_convert_into_utc( end_date, timezone) return ks_date_data
def ks_get_date_range_from_week(date_state, timezone, type, self): ks_date_data = {} date = datetime.now(pytz.timezone(timezone)) ks_week = 0 if date_state == "previous": ks_week = ks_week - 1 elif date_state == "next": ks_week = ks_week + 1 date_iso = date.isocalendar() year = date_iso[0] week_no = date_iso[1] if type == 'date': start_date = datetime.strptime( '%s-W%s-1' % (year, week_no + (ks_week)), "%Y-W%W-%w") ks_date_data["selected_start_date"] = start_date end_date = start_date + timedelta( days=6, hours=23, minutes=59, seconds=59, milliseconds=59) ks_date_data["selected_end_date"] = end_date else: start_date = datetime.strptime( '%s-W%s-1' % (year, week_no + (ks_week)), "%Y-W%W-%w") ks_date_data["selected_start_date"] = ks_convert_into_utc( start_date, timezone) end_date = start_date + timedelta( days=6, hours=23, minutes=59, seconds=59, milliseconds=59) ks_date_data["selected_end_date"] = ks_convert_into_utc( end_date, timezone) return ks_date_data
def ks_get_date_range_from_pastwithout(date_state, self_tz, type, self): ks_date_data = {} date = datetime.now(pytz.timezone(self_tz)) hour = date.hour + 1 date = date - timedelta(hours=hour) date = datetime.strptime(date.strftime("%Y-%m-%d 23:59:59"), '%Y-%m-%d %H:%M:%S') ks_date_data["selected_start_date"] = False if type == 'date': ks_date_data["selected_end_date"] = datetime.strptime( date.strftime("%Y-%m-%d"), '%Y-%m-%d') else: ks_date_data["selected_end_date"] = ks_convert_into_utc(date, self_tz) return ks_date_data
def ks_get_date_range_from_futurestarting(date_state, self_tz, type, self): ks_date_data = {} date = datetime.now(pytz.timezone(self_tz)) date = date + timedelta(days=1) start_date = datetime.strptime(date.strftime("%Y-%m-%d 00:00:00"), '%Y-%m-%d %H:%M:%S') if type == 'date': ks_date_data["selected_start_date"] = datetime.strptime( start_date.strftime("%Y-%m-%d"), '%Y-%m-%d') ks_date_data["selected_end_date"] = False else: ks_date_data["selected_start_date"] = ks_convert_into_utc( start_date, self_tz) ks_date_data["selected_end_date"] = False return ks_date_data
def ks_date_series_l(ks_date_selection): ks_date_data = {} date_filter_options = { 'day': 0, 'week': 7, 'month': 30, 'quarter': 90, 'year': 365, } ks_date_data["selected_end_date"] = datetime.strptime( datetime.now().strftime("%Y-%m-%d 23:59:59"), '%Y-%m-%d %H:%M:%S') ks_date_data["selected_start_date"] = datetime.strptime( (datetime.now() - timedelta(days=date_filter_options[ks_date_selection]) ).strftime("%Y-%m-%d 00:00:00"), '%Y-%m-%d %H:%M:%S') return ks_date_data
def ks_get_date_range_from_past(date_state, self_tz, type, self): ks_date_data = {} date = datetime.now(pytz.timezone(self_tz)) if type == 'date': ks_date_data["selected_end_date"] = datetime.strptime( date.strftime("%Y-%m-%d"), '%Y-%m-%d') else: ks_date_data["selected_end_date"] = ks_convert_into_utc(date, self_tz) ks_date_data["selected_start_date"] = False return ks_date_data
def ks_get_date_range_from_month(date_state, timezone, type, self): ks_date_data = {} date = datetime.now(pytz.timezone(timezone)) year = date.year month = date.month if date_state == "previous": month -= 1 if month == 0: month = 12 year -= 1 elif date_state == "next": month += 1 if month == 13: month = 1 year += 1 end_year = year end_month = month if month == 12: end_year += 1 end_month = 1 else: end_month += 1 start_date = datetime(year, month, 1) end_date = datetime(end_year, end_month, 1) - timedelta(seconds=1) if type == 'date': ks_date_data["selected_start_date"] = datetime.strptime( start_date.strftime("%Y-%m-%d"), '%Y-%m-%d') ks_date_data["selected_end_date"] = datetime.strptime( end_date.strftime("%Y-%m-%d"), '%Y-%m-%d') else: ks_date_data["selected_start_date"] = ks_convert_into_utc( start_date, timezone) ks_date_data["selected_end_date"] = ks_convert_into_utc( end_date, timezone) return ks_date_data
def ks_get_date_range_from_year(date_state, timezone, type, self): ks_date_data = {} date = datetime.now(pytz.timezone(timezone)) year = date.year if date_state == "previous": year -= 1 elif date_state == "next": year += 1 start_date = datetime(year, 1, 1) end_date = datetime(year + 1, 1, 1) - timedelta(seconds=1) if type == 'date': ks_date_data["selected_start_date"] = datetime.strptime( start_date.strftime("%Y-%m-%d"), '%Y-%m-%d') ks_date_data["selected_end_date"] = datetime.strptime( end_date.strftime("%Y-%m-%d"), '%Y-%m-%d') else: ks_date_data["selected_start_date"] = ks_convert_into_utc( start_date, timezone) ks_date_data["selected_end_date"] = ks_convert_into_utc( end_date, timezone) return ks_date_data
def ks_get_date_range_from_day(date_state, timezone, type, self): ks_date_data = {} date = datetime.now(pytz.timezone(timezone)) if date_state == "previous": date = date - timedelta(days=1) elif date_state == "next": date = date + timedelta(days=1) start_date = datetime(date.year, date.month, date.day) end_date = datetime(date.year, date.month, date.day) + timedelta( days=1, seconds=-1) if type == 'date': ks_date_data["selected_start_date"] = datetime.strptime( start_date.strftime("%Y-%m-%d"), '%Y-%m-%d') ks_date_data["selected_end_date"] = end_date ks_date_data["selected_end_date"] = datetime.strptime( end_date.strftime("%Y-%m-%d"), '%Y-%m-%d') else: ks_date_data["selected_start_date"] = ks_convert_into_utc( start_date, timezone) ks_date_data["selected_end_date"] = ks_convert_into_utc( end_date, timezone) return ks_date_data
def ks_get_date_range_from_week(date_state): ks_date_data = {} date = datetime.now() if date_state=="previous": date = date-timedelta(days=7) date_iso = date.isocalendar() year = date_iso[0] week_no = date_iso[1] ks_date_data["selected_start_date"] = datetime.strptime('%s-W%s-1'%(year,week_no-1), "%Y-W%W-%w") ks_date_data["selected_end_date"] = ks_date_data["selected_start_date"] + timedelta(days=6,hours=23,minutes=59,seconds=59,milliseconds=59) return ks_date_data