如何生成“11 月 1 日”等日期格式在 c# 中
我怎样才能得到下面提到的 C# 中的日期格式。
对于 2010 年 11 月 1 日,应显示为:11 月 1 日
对于 2010 年 11 月 30 日,应显示为: 11 月 30 日
我们可以使用任何日期格式或创建一个返回 1 -> 的自定义函数吗? 'st', 2-> 'nd' 3-> 'rd',任何日期无 -> “第”。
How can i get below mentions date format in c#.
For 1-Nov-2010 it should be display as : 1st November
For 30-Nov-2010 it should be display as : 30th November
Can we do using any date format or make a custom function that returns for 1 -> 'st', 2-> 'nd' 3-> 'rd', any date no -> 'th'.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
以下代码基于答案从整数生成序数:
然后您可以生成输出字符串:
The following code is based on that answer that generates an ordinal from an integer:
Than you can generate your output string:
像这样的东西应该可以工作......
Somthing like this should work...
所以这是一个带有扩展方法的完整解决方案。适用于 C# 3.0 及更高版本。大部分抄袭Nikhil的作品:
像这样测试/使用:
希望有帮助。
So here is a fullish solution with extension methods. Works for C# 3.0 and above. Mostly plagiarized Nikhil's work:
Test/Use Like this:
Hope that Helps.
我很确定没有数据时间例程将日期显示为 1 日或 30 日。
我最近从头开始编写了一些类似的代码。我想你也需要这样做。
我没有方便的代码,但我只是创建了一个字符串数组,其中包含每个数字的字母(“th”、“st”、“nd”、“rd”、“th”等)。然后对 10 求模并使用余数作为数组的索引。您只需将该字符串附加到您的号码即可。
I'm pretty sure there's no datatime routine to show the date as 1st or 30th.
I recently wrote some code like that from scratch. I think you'll need to do the same.
I don't have my code handy but I just created a string array with the letters for each number ("th", "st", "nd", "rd", "th", etc.). Then mod against 10 and use the remainder as an index into the array. You can just append that string to your number.
您可以使用正则表达式提取日期和月份。然后,将所有月份的名称存储在一个数组中,并使用 .startsWith 获取月份的正确名称。您可以使用一个简单的
case
来查看是否需要 'st'、'nd'、'rd' 或 'th'。You can use Regular Expressions to extract the day and month. Then, store all the names of the months in an array and use the .startsWith to obtain the proper name of the month. You can use a simple
case
to see if you need the 'st', 'nd', 'rd' or 'th'.我关注了 JSL vscontrol 的字符串示例博客,它在最后有一个错误,他忘记在行的开头连接日期数字,所以它应该是
而不是!
I followed the string example blog from JSL vscontrol and it has a bug at the end he forgot to concatenate the day number at the beginning of the line so it should be
and not !