我试图显示时间值,但以特殊格式显示。举例来说,如果我的变量包含7时25分零零秒,我想这样显示出来:C# - 以特定格式显示时间
07H25
我想了解自定义格式一些事情,但我没有得到有趣的东西。任何想法的方式来做到这一点?
我试图显示时间值,但以特殊格式显示。举例来说,如果我的变量包含7时25分零零秒,我想这样显示出来:C# - 以特定格式显示时间
07H25
我想了解自定义格式一些事情,但我没有得到有趣的东西。任何想法的方式来做到这一点?
DateTime now = DateTime.Now;
Console.WriteLine("Time: " + now.ToString("HH\\Hmm"));
输出
时间:15H44
和HH表示24小时时间格式,所以你会得到07,而不是仅仅7
你可以使用一个格式化装置用于它。例如,尝试使用CultureInfo
对象(您可以克隆当前的对象),从而允许您指定全球化配置并更改DateTimeFormat.TimeSeparator
属性。对于样本:
CultureInfo currentCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone();
currentCulture.DateTimeFormat.TimeSeparator = "H";
string date = DateTime.Now.ToString("hh:mm", currentCulture);
如果你看看我的例子,你不需要指定CultureInfo,但这是很好的知道。 – 2015-03-02 15:47:04
如果你的变量DateTime
,你可以很容易地使用custom date and time format用字符串分隔符等;
date.ToString("HH'H'mm")
如果你的变量TimeSpan
,你可以很容易地使用custom date and time format用字符串分隔符等;
ts.ToString("hh'H'mm")
如果你的变量string
,您可以将其解析到TimeSpan
第一然后格式化喜欢;
TimeSpan ts = TimeSpan.Parse("07:25:00", CultureInfo.InvariantCulture);
ts.ToString("hh'H'mm")
Here是所有DateTime格式字符串的参考表。
添加已经给出的其他答案,这应该会给你足够的信息去消除时间格式,并根据你的需要进行排序。
[这里](https://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx)所有你需要知道'DateTime'字符串格式化。 – Franck 2015-03-02 15:43:06
您想查看.ToString(格式)或string.Format()命令 – Grax 2015-03-02 15:43:54
“如果我的变量包含07:25:00”,变量的类型是什么,是字符串,时间跨度还是DateTime ? – Habib 2015-03-02 15:45:06