我的日期显示为10/18/2011 3:12:33 PM
如何只获取此日期时间的时间部分?
我正在使用C#。
我试过了:
string timeval = PgTime.ToShortTimeString();
但这不起作用,因为Intellisense只显示了ToString();
答案 0 :(得分:12)
假设
DateTime PgTime;
你可以:
String timeOnly = PgTime.ToString("t");
其他格式选项can be viewed on MSDN。
另外,如果您想将它组合成一个更大的字符串,您可以这样做:
// Instruct String.Format to parse it as time format using `{0:t}`
String.Format("The time is: {0:t}", PgTime);
// pass it an already-formatted string
String.Format("The time is: {0}", PgTime.ToString("t"));
如果PgTime
是TimeSpan
,则您有a few other options:
TimeSpan PgTime;
String formattedTime = PgTime.ToString("c"); // 00:00:00 [TimeSpan.ToString()]
String formattedTime = PgTime.ToString("g"); // 0:00:00
String formattedTime = PgTime.ToString("G"); // 0:00:00:00.0000000
答案 1 :(得分:2)
如果你想要一个格式化的字符串,只需使用.ToString(format)
,只指定时间部分。如果您想要实际时间,请使用.TimeOfDay
,从午夜开始为TimeSpan
。
答案 2 :(得分:0)
DateTime test = DateTime.Now;
MessageBox.Show(test.ToShortTimeString());
仅产生DateTime值的时间部分。 你能告诉我们如何宣布PgTime吗?
答案 3 :(得分:0)
DateTime PgTime = new DateTime();
var hr = PgTime.Hour;
var min = PgTime.Minute;
var sec = PgTime.Second;
//or
DateTime.Now.ToString("HH:mm:ss tt") gives it to you as a string.
答案 4 :(得分:0)
现在不要关于名为PgTime
的类。不过现在就做DateTime
。
尝试
DateTime instance = DateTime.Now ; // current date/time
string time = instance.ToString("t") ; // short time formatted according to the rules for the current culture/locale
可能希望阅读Standard Date and Time Format Strings和Custom Date and Time Format Strings