如何从日期时间 C # 获得仅有的时间

假设值为6/22/200910:00:00 AM。

424976 次浏览

DateTime,你可以使用 .TimeOfDay-但这给你一个 TimeSpan代表的时间到一天(10小时)。

您可能需要查看 ToShortTimeString ()方法。

此外,日期时间对象上还有许多其他方法和属性可以帮助您以任何喜欢的方式设置日期或时间。看看文件就知道了。

如果你想比较时间,而不是日期,你可以只有一个标准的比较日期,或者与你使用的日期相匹配,比如..。

DateTime time = DateTime.Parse("6/22/2009 10:00AM");
DateTime compare = DateTime.Parse(time.ToShortDateString() + " 2:00PM");
bool greater = (time > compare);

也许有更好的方法来解决这个问题,但是要让你的日期保持一致。

你有很多选择:

DateTime dt = DateTime.Parse("6/22/2009 07:00:00 AM");


dt.ToString("HH:mm"); // 07:00 // 24 hour clock // hour is always 2 digits
dt.ToString("hh:mm tt"); // 07:00 AM // 12 hour clock // hour is always 2 digits
dt.ToString("H:mm"); // 7:00 // 24 hour clock
dt.ToString("h:mm tt"); // 7:00 AM // 12 hour clock

有用链接: ToString ()模式

有不同的方法可以做到这一点。你可以使用 DateTime.Now.ToLongTimeString() 只以字符串格式返回时间。

这对我有用。我是在使用 DateTime 时发现它的。只获取日期部分的日期。

var wholeDate = DateTime.Parse("6/22/2009 10:00:00 AM");
var time = wholeDate - wholeDate.Date;

您可以长时间使用 ToString("T")或短时间使用 ToString("t")

C # 中只有 DateTime 类型,它包含日期和时间部分。如果您不关心 DateTime 的 Date 部分,将其设置为默认值,如下所示:

DateTime myTime = default(DateTime).Add(myDateTime.TimeOfDay)

这样,您就可以在所有版本的。NET,即使微软决定将基准日期更改为1/1/0001以外的其他日期。

你可以随便写

string time = dateTimeObect.ToString("HH:mm");

试试这个:

TimeSpan TodayTime = DateTime.Now.TimeOfDay;

如果您使用的是网格视图,那么您可以只显示时间与 DataFormatString="{0:t}" 例如:

    By bind the value:-
<asp:Label ID="lblreg" runat="server" Text='<%#Eval("Registration_Time ", "{0:t}") %>'></asp:Label>


By bound filed:-
<asp:BoundField DataField=" Registration_Time" HeaderText="Brithday" SortExpression=" Registration Time " DataFormatString="{0:t}"/>

你可以用这个

lblTime.Text = DateTime.Now.TimeOfDay.ToString();

它是实时的,具有毫秒值,并且只设置为时间。

您还需要考虑日期时间类型。

public static DateTime GetTime(this DateTime d)
{
return new DateTime(d.TimeOfDay.Ticks, d.Kind);
}
DateTime now = DateTime.Now;


now.ToLongDateString();    // Wednesday, January 2, 2019
now.ToLongTimeString();    // 2:33:59 PM
now.ToShortDateString();   // 1/2/2019
now.ToShortTimeString();   // 2:16 PM
now.ToString();            // 1/2/2019 2:33:59 PM