Suponha que eu tenha o valor 22/06/2009 10:00:00. Como obtenho apenas 10:00 da manhã a partir desta data.
Suponha que eu tenha o valor 22/06/2009 10:00:00. Como obtenho apenas 10:00 da manhã a partir desta data.
Respostas:
Você tem muitas opções para isso:
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
Link útil: DateTime.ToString () Patterns
ss
é segundos com um zero à esquerda e s
é segundos sem
Em a DateTime
, você pode usar .TimeOfDay
- mas isso TimeSpan
representa a hora do dia (10 horas).
Há apenas o tipo DateTime em C # e ele consiste na parte da data e da hora. Se você não se importa com a parte Date do DateTime, defina-o como valor padrão como este:
DateTime myTime = default(DateTime).Add(myDateTime.TimeOfDay)
Dessa forma, você pode ser consistente em todas as versões do .NET, mesmo que a Microsoft decida alterar a data base para algo diferente de 1/1/0001.
Você pode procurar no método DateTime.ToShortTimeString () .
Além disso, existem muitos outros métodos e propriedades no objeto DateTime que podem ajudá-lo a formatar a data ou a hora da maneira que desejar. Basta dar uma olhada na documentação.
Tente o seguinte:
TimeSpan TodayTime = DateTime.Now.TimeOfDay;
Existem diferentes maneiras de fazer isso. Você pode usar o DateTime.Now.ToLongTimeString()
que retorna apenas a hora no formato de sequência.
DateTime.ToLongTimeString()
mais do que DateTime.Now.ToLongTimeString()
. Dada a idade desse segmento, é melhor não ressuscitá-lo, a menos que a resposta contribua com uma melhoria significativa em relação às respostas anteriores.
Você pode simplesmente escrever
string time = dateTimeObect.ToString("HH:mm");
Você pode usar isso
lblTime.Text = DateTime.Now.TimeOfDay.ToString();
É em tempo real, com valor de milissegundos, e é definido apenas para o tempo.
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
se você estiver usando o gridview, poderá mostrar apenas o horário com o DataFormatString="{0:t}"
exemplo:
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}"/>
Se você deseja comparar horários, e não datas, pode ter apenas uma data de comparação padrão ou corresponder à data que está usando, como em ...
DateTime time = DateTime.Parse("6/22/2009 10:00AM");
DateTime compare = DateTime.Parse(time.ToShortDateString() + " 2:00PM");
bool greater = (time > compare);
Pode haver maneiras melhores de fazer isso, mas mantém as datas correspondentes.
Você também deve considerar o DateTime Kind.
public static DateTime GetTime(this DateTime d)
{
return new DateTime(d.TimeOfDay.Ticks, d.Kind);
}