我需要将每月的日期转换为一个人的说法。
例如 4/26 将被称为 26th。4/01 将被称为 First。
我知道我可以使用查找表字符串 foo = {"First", "Second", ...} 然后取月份日期并提取字符串。
有一个更好的方法吗?
一般来说,是的,您可以对英语规则进行编码以产生序数。但是,前 19 个单词不可避免地会出现在查找表中,因为它们是例外。
对于一个月中的天数,异常值的范围(1 到 19)覆盖了您需要生成的单词序列总数的大约 60%,因此完全跳过算法并将所有内容在查找表中。如果您决定支持英语以外的语言,这将提高可读性并简化国际化。
没有办法绕过查找表(即使它是由第三方提供的)。但是您可以减少案例数量: