c#仅显示日期时间的时间部分

c#仅显示日期时间的时间部分,c#,C#,我有一个日期显示为2011年10月18日下午3:12:33 如何仅获取此日期时间的时间部分 我用的是C# 我试过: string timeval = PgTime.ToShortTimeString(); 但这并没有起作用,因为Intellisense只显示了ToString() 假设 DateTime PgTime; 你可以: String timeOnly = PgTime.ToString("t"); 其他格式选项 此外,如果您想将其组合成一个更大的字符串,可以执行以下操

我有一个日期显示为2011年10月18日下午3:12:33

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

我用的是C#

我试过:

      string timeval = PgTime.ToShortTimeString();
但这并没有起作用,因为Intellisense只显示了ToString()

假设

DateTime PgTime;
你可以:

String timeOnly = PgTime.ToString("t");
其他格式选项

此外,如果您想将其组合成一个更大的字符串,可以执行以下操作之一:

// 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
,则您有:


如果需要格式化字符串,只需使用
.ToString(format)
,只指定时间部分。如果需要实际时间,请使用
.TimeOfDay
,它将是从午夜开始的
TimeSpan

 DateTime test = DateTime.Now;
            MessageBox.Show(test.ToShortTimeString());
只生成DateTimne值的时间部分。
您能告诉我们PgTime是如何声明的吗?

现在不要对名为
PgTime
的类一无所知。不过,现在就做关于日期时间的事情

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.
试一试


您可能想仔细阅读,但您没有给我们提供足够的上下文。PgTime的编译时类型是什么?你在代码中遇到了什么编译器错误?请阅读这里的答案:[[1]:还有
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.
DateTime instance = DateTime.Now           ; // current date/time
string   time     = instance.ToString("t") ; // short time formatted according to the rules for the current culture/locale