【发布时间】:2017-01-11 23:52:48
【问题描述】:
我的DateTime 字段根据需要进行了格式化,但我遇到的问题是我无法找到仅 显示该字段的Time 元素的方法。
这是我使用的语法
DateTime? fmtTimeOfDeparture;
string TimeOfDeparture = null;
IFormatProvider format = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat;
fmtTimeOfDeparture = DateTime.ParseExact((TimeOfDeparture != null ? TimeOfDeparture : null), "HHmmss", format);
Console.WriteLine(fmtTimeOfDeparture);
这会将其写入控制台:
01/11/2017 6:49:00 PM
我仅希望它显示
6:49:00 PM
应如何更新语法以仅显示此内容?
【问题讨论】:
-
那么就这样做吧:
Console.WriteLine(fmtTimeOfDeparture.ToString("h:mm:ss tt"));。请参阅this link 了解更多信息。 -
我会尝试“fmtTimeOfDeparture.Value.ToShortTimeString()”,这是我通过搜索这个问题找到的答案。
-
@Icemanind - 产生参数 1 的错误:无法从 'string' 转换为 'System.IFormatProvider'
-
@JamesJayson - 产生“字符串”错误不包含“值”的定义,并且找不到接受“字符串”类型的第一个参数的扩展方法“值”
-
@MichaelMormon 抱歉,没有注意到它可以为空。试试这个:
Console.WriteLine(fmtTimeOfDeparture.Value.ToString("h:mm:ss tt"));.