C# 时间格式。本地化为法语如何获得输出“5h 45” 5:45?
我正在尝试为法国客户设置日期格式。
我需要格式化时间,如以下示例所示...
06:00 -> 6小时
08:45 --> 8 小时 45
10:30→ 10 小时 30
15:00-> 15小时
17:22 --> 17 小时 22
18:00-> 18 小时
我已经能够使用自定义日期和时间格式。但我似乎坚持这样一种观念,即法国人(至少加拿大人)如果分钟数为零“00”,则不会显示分钟数。
目前我正在使用以下格式。
myDateTime.ToString("H \h mm")
我怎样才能使“mm”仅在>时出现00?
我想避免使用扩展方法或代理类,因为我认为这应该内置到框架中。显然这是法国时间的标准格式。
我的字符串“H \h mm”实际上来自资源文件。 IE...
myDateTime.ToString(Resources.Strings.CustomTimeFormat);
I'm attempting to format dates for a French customer.
I need to format Times as shown in the following examples...
06:00 -> 6 h
08:45 -> 8 h 45
10:30 -> 10 h 30
15:00 -> 15 h
17:22 -> 17 h 22
18:00 -> 18 h
I've been able to use Custom Date and Time Formatting. But I seem to be stuck on this notation that the French (Canadian at least) don't show the Minutes if they are zero "00".
Currently I'm using the following format.
myDateTime.ToString("H \h mm")
How can I make it so "mm" only appears when > 00?
I'd like to avoid the use of an extension method or proxy class since I feel this should be built into the framework. Apparently its standard formatting for French times.
My string "H \h mm" is actually coming from a resource file. ie...
myDateTime.ToString(Resources.Strings.CustomTimeFormat);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我有一些坏消息要告诉你。该框架不支持您正在寻找的格式。以下代码证明了这一点:
该应用程序显示所有支持的日期时间格式。他们都不支持 18:00 ==> 的概念18 小时等。
您最好的选择是编写扩展方法或类似的方法。
文化敏感方法:构建扩展帮助器类:
您可以像这样进行测试:
I have some bad news for you. The framework does not support the format you are looking for. The following code proves this:
The app displays all supported datetime formats. None of them support the concept of 18:00 ==> 18 h, etc.
Your best option is to write an extension method or similar approach.
Culture sensitive approach: build an extension helper class:
You can test like so:
遵循code4life的扩展方法思想,这里有一个扩展方法。 =p
Following on code4life's extension method idea, here's an extension method. =p
它可能不漂亮,但如果他们坚持
It might not be pretty but if they insist
这是我要使用的解决方案:
它至少适用于不同的日期时间格式,例如...
这里的想法是我修改 FormatString 以删除“mm”如果分钟为零。仍然让框架来完成艰苦的工作。
Here is the solution I'm going with:
It will at least work for different DateTime formats such as...
The idea here is I modify the FormatString to remove "mm" if minutes are zero. Still letting the framework do the hard work.
这也不漂亮:
This is not pretty either: