c#仅显示DateTime的时间部分

时间:2012-01-03 20:39:46

标签: c#

我的日期显示为10/18/2011 3:12:33 PM

如何只获取此日期时间的时间部分?

我正在使用C#。

我试过了:

      string timeval = PgTime.ToShortTimeString();

但这不起作用,因为Intellisense只显示了ToString();

5 个答案:

答案 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"));

如果PgTimeTimeSpan,则您有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 StringsCustom Date and Time Format Strings