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

Yahia
fonte

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

Mark Brackett
fonte
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
46

Tente o seguinte:

DateTime.Now.ToString("HH:mm:ss tt")

Para outros formatos, você pode conferir este site: Formato C # DateTime

Musikero31
fonte
43

Outra opção usando String.Format ()

string.Format("{0:HH:mm:ss tt}", DateTime.Now)
Chris Fulstow
fonte
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)
Oposição
fonte
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()
benPearce
fonte
15

Aqui vamos nós:

 DateTime time = DateTime.Now;
 Console.WriteLine(time.ToString("h:mm:ss tt"));
praguan
fonte
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.

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

apenas tente é usar completo para sua necessidade

Gupta
fonte
9

Datetime.TimeOfDayretorna a TimeSpane pode ser o que você está procurando.

Stefan Schultze
fonte
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 .

Greg D
fonte
5

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

DateTime now = DateTime.Now;
string time = now.ToString("T");
Hannan Hossain
fonte
3

Para calcular a data e hora atual:

DateTime theDate = DateTime.UtcNow;

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

MessageBox.Show(custom);
sadhana
fonte
3
var CurDate= DateTime.Now;
CurDate.Hour;
CurDate.Minute;
CurDate.Millisecond
Sarat Chandra
fonte
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

Khb
fonte
2

muito simples DateTime.Now.ToString("hh:mm:ss tt")

Ranjit Singh
fonte
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 ...

David Castro
fonte
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

Douglas G. Allen
fonte
1

Use o código abaixo

DateTime.Now.ToString("h:mm:ss tt")
Bijeesh Raghavan
fonte
Como isso difere da resposta mais votada?
Cray
-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.

Albert
fonte