def __format_date(self, solr_date): """ :param solr_date: :return: """ # solr_date has the format 2017-12-01 date_time = datetime.strptime(solr_date.replace('-00', '-01'), '%Y-%m-%d') return strftime(date_time, '%Y-%m-X%d').replace('X0', 'X').replace('X', '')
def __format_date(self, solr_date): """ :param solr_date: :return: """ # solr_date has the format 2017-12-01 date_time = datetime.strptime(solr_date.replace('-00', '-01'), '%Y-%m-%d') # 2/7/2020 as per Alberto, month should be lower case return strftime(date_time, '%b').lower()
def __format_date(self, solr_date, date_format): """ :param solr_date: :param date_format: :return: """ # solr_date has the format 2017-12-01 date_time = datetime.strptime(solr_date.replace('-00', '-01'), '%Y-%m-%d') formats = {'D': '%m/%Y', 'Y': '%Y'} return strftime(date_time, formats[date_format])
def test_strftime(): s = strftime(datetime.date(1800, 9, 23), "%Y has the same days as 1980 and 2008") assert (s == "1800 has the same days as 1980 and 2008") # Get the weekdays. Can't hard code them; they could be localized. days = [] for i in range(1, 10): days.append(datetime.date(2000, 1, i).strftime("%A")) nextday = {} for i in range(8): nextday[days[i]] = days[i + 1] assert (days == [ 'Saturday', 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday' ]) assert (nextday == { 'Monday': 'Tuesday', 'Tuesday': 'Wednesday', 'Friday': 'Saturday', 'Wednesday': 'Thursday', 'Thursday': 'Friday', 'Sunday': 'Monday', 'Saturday': 'Sunday' }) # Testing all day names from 0001/01/01 until 2000/08/01 startdate = datetime.date(1, 1, 1) enddate = datetime.date(2000, 8, 1) prevday = strftime(startdate, "%A") one_day = datetime.timedelta(1) assert (prevday == 'Monday') # Testing century testdate = startdate + one_day while testdate < enddate: day = strftime(testdate, "%A") assert (nextday[prevday] == day) prevday = day testdate = testdate + one_day
def __format_date(self, solr_date, export_format): """ :param solr_date: :param export_format: :return: """ # solr_date has the format 2017-12-01 date_time = datetime.strptime(solr_date.replace('-00', '-01'), '%Y-%m-%d') formats = { self.EXPORT_FORMAT_ADS: '%m/%Y', self.EXPORT_FORMAT_ENDNOTE: '%B %d, %Y', self.EXPORT_FORMAT_PROCITE: '%Y/%m/X%d', self.EXPORT_FORMAT_REFMAN: '%Y/%m/X%d', self.EXPORT_FORMAT_REFWORKS: '%Y/%m/X%d', self.EXPORT_FORMAT_MEDLARS: '%Y %b %d' } return strftime(date_time, formats[export_format]).replace('X0', 'X').replace('X', '')