def nice_time(dt, lang="en-us", speech=True, use_24hour=False, use_ampm=False): """ Format a time to a comfortable human format For example, generate 'five thirty' for speech or '5:30' for text display. Args: dt (datetime): date to format (assumes already in local timezone) lang (str): code for the language to use speech (bool): format for speech (default/True) or display (False) use_24hour (bool): output in 24-hour/military or 12-hour format use_ampm (bool): include the am/pm for 12-hour format Returns: (str): The formatted time string """ lang_lower = str(lang).lower() if lang_lower.startswith("en"): return nice_time_en(dt, speech, use_24hour, use_ampm) elif lang_lower.startswith("it"): return nice_time_it(dt, speech, use_24hour, use_ampm) elif lang_lower.startswith("fr"): return nice_time_fr(dt, speech, use_24hour, use_ampm) elif lang_lower.startswith("de"): return nice_time_de(dt, speech, use_24hour, use_ampm) elif lang_lower.startswith("hu"): return nice_time_hu(dt, speech, use_24hour, use_ampm) elif lang_lower.startswith("nl"): return nice_time_nl(dt, speech, use_24hour, use_ampm) # TODO: Other languages return str(dt)
def nice_time(dt, lang=None, speech=True, use_24hour=False, use_ampm=False): """ Format a time to a comfortable human format For example, generate 'five thirty' for speech or '5:30' for text display. Args: dt (datetime): date to format (assumes already in local timezone) lang (str): code for the language to use speech (bool): format for speech (default/True) or display (False) use_24hour (bool): output in 24-hour/military or 12-hour format use_ampm (bool): include the am/pm for 12-hour format Returns: (str): The formatted time string """ lang_code = get_primary_lang_code(lang) if lang_code == "en": return nice_time_en(dt, speech, use_24hour, use_ampm) elif lang_code == "es": return nice_time_es(dt, speech, use_24hour, use_ampm) elif lang_code == "it": return nice_time_it(dt, speech, use_24hour, use_ampm) elif lang_code == "fr": return nice_time_fr(dt, speech, use_24hour, use_ampm) elif lang_code == "de": return nice_time_de(dt, speech, use_24hour, use_ampm) elif lang_code == "hu": return nice_time_hu(dt, speech, use_24hour, use_ampm) elif lang_code == "nl": return nice_time_nl(dt, speech, use_24hour, use_ampm) elif lang_code == "da": return nice_time_da(dt, speech, use_24hour, use_ampm) elif lang_code == "pt": return nice_time_pt(dt, speech, use_24hour, use_ampm) elif lang_code == "sv": return nice_time_sv(dt, speech, use_24hour, use_ampm) # TODO: Other languages return str(dt)
def nice_time(dt, lang=None, speech=True, use_24hour=False, use_ampm=False): """ Format a time to a comfortable human format For example, generate 'five thirty' for speech or '5:30' for text display. Args: dt (datetime): date to format (assumes already in local timezone) lang (str): code for the language to use speech (bool): format for speech (default/True) or display (False) use_24hour (bool): output in 24-hour/military or 12-hour format use_ampm (bool): include the am/pm for 12-hour format Returns: (str): The formatted time string """ lang_code = get_primary_lang_code(lang) if lang_code == "en": return nice_time_en(dt, speech, use_24hour, use_ampm) elif lang_code == "es": return nice_time_es(dt, speech, use_24hour, use_ampm) elif lang_code == "it": return nice_time_it(dt, speech, use_24hour, use_ampm) elif lang_code == "fr": return nice_time_fr(dt, speech, use_24hour, use_ampm) elif lang_code == "de": return nice_time_de(dt, speech, use_24hour, use_ampm) elif lang_code == "hu": return nice_time_hu(dt, speech, use_24hour, use_ampm) elif lang_code == "nl": return nice_time_nl(dt, speech, use_24hour, use_ampm) elif lang_code == "da": return nice_time_da(dt, speech, use_24hour, use_ampm) elif lang_code == "pt": return nice_time_pt(dt, speech, use_24hour, use_ampm) # TODO: Other languages return str(dt)