C# 忽略标签文本中的日期,仅显示时间

C# 忽略标签文本中的日期,仅显示时间,c#,datetime,C#,Datetime,以下代码将标签显示为计划范围:20/11/2014 08:00:00至20/11/2014 09:00:00,如何使其显示为计划范围:08:00:00至09:00:00 DateTime startTime = DateTime.Parse("08:00:00"); DateTime endTime = DateTime.Parse("09:00:00"); label1.Text = "Planning horizon: " + startTime + " to " + endTime;

以下代码将标签显示为
计划范围:20/11/2014 08:00:00至20/11/2014 09:00:00
,如何使其显示为
计划范围:08:00:00至09:00:00

DateTime startTime = DateTime.Parse("08:00:00");
DateTime endTime = DateTime.Parse("09:00:00");

label1.Text = "Planning horizon: " + startTime + " to "  + endTime;

日期时间
上使用
.ToLongTimeString()
.toSortimestring()

  DateTime x = DateTime.Now;
  Console.WriteLine(x.ToLongTimeString());
  Console.WriteLine(x.ToShortTimeString());
将产生:

9:30:20 AM
9:30 AM
对于特定的输出,您可能希望自定义输出字符串,因此请执行以下操作:

startTime.ToString("HH:mm:ss")
哪些输出(注意
HH
在24小时时钟中输出):


有关格式化时间字符串的更多信息,请参阅。

只需使用
.ToString()
方法格式化
日期时间

label1.Text = "Planning horizon: " + startTime.ToString("HH:mm:ss") + " to "  
               + endTime.ToString("HH:mm:ss");
长话短说 由于您使用的是
string+DateTime
串联,因此此过程将调用
string+object
重载,并对第二个参数使用
.ToString()
方法

来自

当前DateTime对象的值是使用 .

此方法使用从当前文件派生的格式信息 文化特别是,它组合了返回的自定义格式字符串 根据 对象返回的DateTimeFormatInfo对象 CurrentCulture.DateTimeFormat属性


看起来你的
ShortDatePattern
longtimeptern
dd/MM/yyyy
HH:MM:ss
。这就是为什么您会得到基于这些具体格式的字符串结果。

使用TimeOfDay函数。有关格式选项,请参见下面的链接。

我认为在这种情况下,
TimeOfDay
不是一个好的选择,因为它可能会生成
AM/PM
指示符。如果提供了正确的格式选项,您可以省略AM/PM指示符。
label1.Text = "Planning horizon: " + startTime.ToString("HH:mm:ss") + " to "  
               + endTime.ToString("HH:mm:ss");