Como você obtém a hora atual do dia?


269

Como você obtém a hora atual (não data E hora)?

Exemplo: 17:42:12 PM

Respostas:


391

DateTime.Now.TimeOfDaydá a você como TimeSpan(a partir da meia-noite).

DateTime.Now.ToString("h:mm:ss tt")dá a você como uma string .

Referência de DateTime: https://msdn.microsoft.com/en-us/library/system.datetime


25
DateTime.Now.ToShortTimeString () faz o mesmo que a segunda sugestão.
Kyle Trauberman

4
bem, quase o mesmo, ele retorna uma string, mas está faltando a parte dos segundos do tempo.
Kyle Trauberman

12
.ToString ("HH: mm: ss tt") forneceria 17:42:12 PM, enquanto .ToString ("h: mm: ss tt") forneceria 17:42:12.
Merenzo 12/10

6
@ Kyle - não é muito preciso. ToShortTimeString retorna a hora no formato de tempo curto selecionado pelo usuário, conforme especificado nas configurações de região do Windows.
BlackWasp 5/07/12


43

Outra opção usando String.Format ()

string.Format("{0:HH:mm:ss tt}", DateTime.Now)

25

Hora atual com o designador AM / PM:

DateTime.Now.ToString("hh:mm:ss tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("hh:mm:ss.fff tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)

Hora atual usando a notação de 0 a 23 horas:

DateTime.Now.ToString("HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("HH:mm:ss.fff", System.Globalization.DateTimeFormatInfo.InvariantInfo)

3
@ Anar, eu desfiz o seu -1. A pergunta é "Como faço para obter a hora do dia" , que todas as respostas respondem. Sua votação baixa é porque você leu a pergunta como "Como formatar horas como 5:00 PM" , enquanto o OP apenas (e explicitamente) mencionou esse formato de data específico como exemplo. Você até rebaixou a resposta de @ Musikero31 , enquanto ela menciona a página onde qualquer um pode procurar a sequência de formatos que está procurando.
CodeCaster 4/14

Depois de ler a pergunta novamente, acho que você não está errado. Mas também não estou errado porque, se essa é uma pergunta geral, como você propõe, a maioria dos respondentes não entendeu a pergunta, já que suas respostas não são gerais, mas específicas. Em suma, acho que a pergunta poderia ter sido muito mais clara. A propósito, o que significa "Eu desfiz o seu -1" significa?
Anar khalilov

@ Anar como formatar DateTime.Nowuma string requer um formato, eles tiveram que colocar alguma coisa . Isso não resulta em respostas ruins, mas se você acha que deve haver outro formato, fique à vontade para editá-las. Eu quis dizer que votei positivamente nas respostas votadas.
CodeCaster 4/14

1
Se não houvesse erros de interpretação, eles teriam colocado todas as versões em algo que não vem à mente. Todos sabemos que o SO é muito generoso para as pessoas que se esforçam para responder. Mas sim, não vamos nos desviar muito do tópico. Tudo o que posso dizer é que revisarei todos os meus -1 e decidirei novamente.
Anar khalilov

24
DateTime.Now.TimeOfDay

ou

DateTime.Now.ToShortTimeString()

15

Aqui vamos nós:

 DateTime time = DateTime.Now;
 Console.WriteLine(time.ToString("h:mm:ss tt"));

2
O ttempo deve ser capitalizado. Corrigido para o seu.
Programador

12

Isso será melhor, tente este

    DateTime.Now.ToShortTimeString();

Para isso, você não precisa especificar o Formato para a Hora.


11
DateTime.Now.ToString("yyyy-MM-dd h:mm:ss tt");

apenas tente é usar completo para sua necessidade



8

Obtenha a data e a hora atuais e use a parte da hora. Veja as possibilidades de formatar uma sequência de data e hora nos documentos do MSDN .


5

Esta pode ser uma solução possível:

DateTime now = DateTime.Now;
string time = now.ToString("T");

3

Para calcular a data e hora atual:

DateTime theDate = DateTime.UtcNow;

string custom = theDate.ToString("d");

MessageBox.Show(custom);

3
var CurDate= DateTime.Now;
CurDate.Hour;
CurDate.Minute;
CurDate.Millisecond

2

Isso mostrará apenas a hora atual, no formato de 24 horas:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(DateTime.Now.ToLongTimeString().ToString());
        Console.WriteLine(DateTime.Now.ToShortTimeString().ToString());
        Console.ReadLine();
    }
}

Atenciosamente
K



2
MyEmail.Body = string.Format("The validation is done at {0:HH:mm:ss} Hrs.",DateTime.Now);

Pode usar {0:HH:mm:ss}, {0:HH:mm:ss.fff}, {0:DD/mm/yyy HH:mm:ss}, etc ...


1

Também estou experimentando isso e também acho essas páginas úteis. Primeiro a classe principal ... https://msdn.microsoft.com/en-us/library/system.datetime(v=vs.110).aspx

Agora, alguns formatos de especificador para o método ToString ... https://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo(v=vs.110).aspx

Exemplo:

using System;

namespace JD
{
    class Program
    {
        public static DateTime get_UTCNow()
        {
            DateTime UTCNow = DateTime.UtcNow;
            int year = UTCNow.Year;
            int month = UTCNow.Month;
            int day = UTCNow.Day;
            int hour = UTCNow.Hour;
            int min = UTCNow.Minute;
            int sec = UTCNow.Second;
            DateTime datetime = new DateTime(year, month, day, hour, min, sec);
            return datetime;
        }

        static void Main(string[] args)
        {
            DateTime datetime = get_UTCNow();            

            string time_UTC = datetime.TimeOfDay.ToString();
            Console.WriteLine(time_UTC);

            Console.ReadLine();

        }
    }
}

Eu joguei esse método TimeOfDay lá apenas para mostrar que você tem um padrão de 24 horas, como é declarado "o horário da meia-noite"

Você pode usar o meu método geter (); :-D



-6

Tente este. Está trabalhando para mim no aplicativo Web de arquitetura de três níveis.

"'" + DateTime.Now.ToString() + "'"

Lembre-se das aspas simples na inserção de consulta.

Por exemplo:

string Command = @"Insert Into CONFIG_USERS(smallint_empID,smallint_userID,str_username,str_pwd,str_secquestion,str_secanswer,tinyint_roleID,str_phone,str_email,Dt_createdOn,Dt_modifiedOn) values ("
 + u.Employees + ","
 + u.UserID + ",'"
 + u.Username + "','"
 + u.GetPassword() + "','"
 + u.SecQ + "','"
 + u.SecA + "',"
 + u.RoleID + ",'"
 + u.Phone + "','"
 + u.Email + "','"
 + DateTime.Now.ToString() + "','"
 + DateTime.Now.ToString() + "')";

A DateTimeinserção no final da linha.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.