Как получить только время от даты до времени C # - PullRequest
119 голосов
/ 22 июня 2009

Предположим, у меня есть значение 22.06.2009 10:00:00. Как получить только 10:00 утра с этой даты.

Ответы [ 15 ]

3 голосов
/ 25 ноября 2013

Вы можете использовать ToString("T") в течение длительного времени или ToString("t") в течение короткого времени.

3 голосов
/ 03 апреля 2013

Это работает для меня. Я обнаружил это, когда мне пришлось работать с DateTime.Date, чтобы получить только часть даты.

var wholeDate = DateTime.Parse("6/22/2009 10:00:00 AM");
var time = wholeDate - wholeDate.Date;
2 голосов
/ 21 ноября 2017

если вы используете gridview, тогда вы можете показать только время с 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}"/>
1 голос
/ 22 июня 2009

Если вы хотите сравнивать время, а не даты, вы можете просто установить стандартную дату сравнения или соответствовать дате, которую вы используете, как в ...

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

Возможно, есть и лучшие способы, но ваши даты совпадают.

0 голосов
/ 28 ноября 2018

Вы также должны учитывать тип DateTime.

public static DateTime GetTime(this DateTime d)
{
    return new DateTime(d.TimeOfDay.Ticks, d.Kind);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...