只显示DateTime的时间部分

本文关键字:时间部 DateTime 显示 | 更新日期: 2023-09-27 18:19:16

我有一个日期显示为10/18/2011 3:12:33 PM

如何获取datetime的时间部分?

我正在使用c#。

我试着:

      string timeval = PgTime.ToShortTimeString();

但这不起作用,因为智能感知只显示ToString();

只显示DateTime的时间部分

DateTime PgTime;

您可以:

String timeOnly = PgTime.ToString("t");

其他格式选项可在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,您有几个其他选项:

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

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

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的类一无所知。不过,现在来看看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

可能需要阅读标准日期和时间格式字符串和自定义日期和时间格式字符串

在c# 10中可以使用TimeOnly。

TimeOnly date = TimeOnly.FromDateTime(PgTime);