def _format_sample_summary(sample): if sample and sample.get("ingestDateTime"): submission_datetime = localise_datetime(iso8601.parse_date(sample["ingestDateTime"])) submission_time = submission_datetime.strftime("%I:%M%p on %B %d, %Y") sample["ingestDateTime"] = submission_time return sample
def test_convert_to_bst_from_utc_during_gmt(self): # 13th Feb 2018 at 14.12 should return 13th Feb 2018 at 14.12 datetime_parsed = datetime(2018, 2, 13, 14, 12, 0, tzinfo=timezone.utc) returned_datetime = localise_datetime(datetime_parsed) # Check date returned is in BST format self.assertEqual( datetime.strftime(returned_datetime, "%Y-%m-%d %H:%M:%S"), "2018-02-13 14:12:00")
def test_convert_to_bst_from_utc_during_bst(self): # 13th Jun 2018 at 14.12 should return 13th Jun 2018 at 15.12 datetime_parsed = datetime(2018, 6, 13, 14, 12, 0, tzinfo=timezone.utc) returned_datetime = localise_datetime(datetime_parsed) # Check date returned is in BST format self.assertEqual( datetime.strftime(returned_datetime, '%Y-%m-%d %H:%M:%S'), '2018-06-13 15:12:00')
def _format_closed_at(thread_conversation): """ Takes a date and formats converts it into the string 'dd/mm/yyyy at HH:MM' """ try: closed_time = localise_datetime(datetime.strptime(thread_conversation["closed_at"], "%Y-%m-%dT%H:%M:%S.%f")) return closed_time.strftime("%d/%m/%Y" + " at %H:%M") except (KeyError, TypeError): return None
def convert_events_to_new_format(events): formatted_events = {} for event in events: date_time_utc = iso8601.parse_date(event["timestamp"]) localised_datetime = localise_datetime(date_time_utc) formatted_events[event["tag"]] = { "day": localised_datetime.strftime("%A"), "date": localised_datetime.strftime("%d %b %Y"), "month": localised_datetime.strftime("%m"), "time": localised_datetime.strftime("%H:%M"), "is_in_future": date_time_utc > iso8601.parse_date(datetime.now(timezone.utc).isoformat()), } return formatted_events
def convert_events_to_new_format(events): formatted_events = {} for event in events: date_time_utc = iso8601.parse_date(event['timestamp']) localised_datetime = localise_datetime(date_time_utc) formatted_events[event['tag']] = { "day": localised_datetime.strftime('%A'), "date": localised_datetime.strftime('%d %b %Y'), "month": localised_datetime.strftime('%m'), "time": localised_datetime.strftime('%H:%M'), "is_in_future": date_time_utc > iso8601.parse_date(datetime.now(timezone.utc).isoformat()) } return formatted_events