从标签文本中删除日期,仅显示时间

时间:2014-11-20 17:25:45

标签: c# datetime

以下代码将标签显示为Planning horizon: 20/11/2014 08:00:00 to 20/11/2014 09:00:00,如何将其显示为Planning horizon: 08:00:00 to 09:00:00

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

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

3 个答案:

答案 0 :(得分:2)

.ToLongTimeString()上使用.ToShortTimeString()DateTime

  DateTime x = DateTime.Now;
  Console.WriteLine(x.ToLongTimeString());
  Console.WriteLine(x.ToShortTimeString());

将生成:

9:30:20 AM
9:30 AM

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

startTime.ToString("HH:mm:ss")

哪些输出(请注意24小时制中的HH输出):

09:30:14

有关格式化时间字符串的详细信息,请参阅this MSDN page

答案 1 :(得分:1)

只需使用DateTime方法格式化您的.ToString()

label1.Text = "Planning horizon: " + startTime.ToString("HH:mm:ss") + " to "  
               + endTime.ToString("HH:mm:ss");

长答案

由于您使用string + DateTime级联,此过程将调用string + object重载并使用.ToString()方法作为第二个参数。

来自DateTime.ToString() method;

  

使用。格式化当前DateTime对象的值   general date and time format specifier ('G')

     

此方法使用从当前导出的格式信息   文化。特别是,它结合了返回的自定义格式字符串   根据{{​​3}}和ShortDatePattern属性   由Date返回的DateTimeFormatInfo对象   CurrentCulture.DateTimeFormat属性

看起来您的LongTimePattern ShortDatePatternLongTimePatterndd/MM/yyyyHH:mm:ss。这就是为什么你根据这些标准格式得到字符串结果的原因。

答案 2 :(得分:0)

使用TimeOfDay功能。有关格式化选项,请参阅以下链接。 http://msdn.microsoft.com/en-us/library/system.datetime.timeofday%28v=vs.110%29.aspx