c# - 在没有查找表的情况下将月份中的某一天转换为说话方式?

标签 c# datetime

我需要将月份中的某一天转换为人们的说法。

例如 4/26 会读作 Twenty-Sixth。 4/01 将被称为 First。

我知道我可以使用查找表 string foo = {"First", "Second", ...} 然后取出月份的日期并拉出字符串。

有更好的方法吗?

最佳答案

一般来说,是的,您可以对英语规则进行编码以生成序数。但是,前 19 个单词不可避免地会出现在查找表中,因为它们是异常(exception)。

在对一个月的天数进行编号的情况下,异常值的范围(1 到 19)涵盖了您需要生成的单词序列总数的大约 60%,因此完全跳过该算法是有意义的,并将所有内容放在查找表中。如果您决定支持英语以外的语言,这将提高可读性并简化国际化。

关于c# - 在没有查找表的情况下将月份中的某一天转换为说话方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10339286/

相关文章:

c# - 如何从标志枚举中获取数值?

c# - 通用列表,使用条件语句计数的项目

c# - 将日期时间设置为字符串为 ToLocalTime

java - 如何在 Java 中从年份字符串创建 SimpleDate

c# - 从两组日期范围 C# 中查找差距日期范围

c# - 如何更改 Xamarin.Forms UWP 应用程序的强调色?

c# - ListView 帮助..(Windows 窗体)

c# - 使用 ReSharper 将代码格式化为一行

jquery - JQGrid 日期格式

javascript - 如何将 Datepicker 和 Timepicker 的值合并到一个变量中