Preciso remover parte da hora da data ou hora ou provavelmente ter a data no seguinte formato, no object
formato não no formato destring
.
06/26/2009 00:00:00:000
Não posso usar nenhum string
método de conversão, pois preciso da data no object
formulário.
Tentei primeiro converter a DateTime
para a string
, remova a data específica da hora, mas ela adiciona 12:00:00 AM
assim que eu a converto DateTime
object
novamente.
var dateTime = DateTime.Now.Date;
Respostas:
Use a propriedade Date :
A
date
variável conterá a data, a parte da hora será00:00:00
.fonte
06/26/2009 00:00:00.000
, mas63381571200000000
, que é o número deDateTime.MinValue
marcações (1/100000000 de segundo) desde (01/01/0001). Se você deseja exibir a data, converta-a em uma sequência, caso contrário, ela possui um componente de hora da meia-noite. Lide com isso.Você pode usar seqüências de caracteres de formato para dar à sequência de saída o formato desejado.
Leia mais sobre seqüências de caracteres de formato de data e hora personalizadas .
fonte
CultureInfo.DateTimeFormat.ShortDatePattern
ser amigável ao usuáriodd/MM/yyyy
para o que deseja antes de usá-lo!.ToString()
com o formato desejado é exatamente o que eu precisava, obrigado!Use o método ToShortDateString. Consulte a documentação http://msdn.microsoft.com/en-us/library/system.datetime.toshortdatestring.aspx
fonte
ToShortDateString
não implementaIFormatProvider
: /Dê uma olhada na propriedade DateTime.Date .
fonte
var dateTime = DateTime.Now.Date;
A
Date
propriedade retornará a data à meia-noite.Uma opção poderia ser obter os valores individuais (dia / mês / ano) separadamente e armazená-los do tipo desejado.
fonte
Nenhuma das respostas acima resolveu meu problema nos winforms.
a maneira mais fácil de alcançar SOMENTE a data é a função simples no Datetime:
Você só terá data na sequência de aniversários.
fonte
(string)
elenco? O tipo retornado porToShortDateString
é realmente uma string.Tente fazer sua própria estrutura para isso. O objeto DateTime terá data e hora, ambos
fonte
Você não pode. Um DateTime no .NET sempre tem um horário, por padrão 00: 00: 00: 000. A propriedade Date de um DateTime também é um DateTime (!), Portanto, também possui um horário padrão 00: 00: 00: 000.
Isso é uma falta no .NET Framework e pode-se argumentar que o DateTime no .NET viola o Princípio de Responsabilidade Única .
fonte
DateTime.Date
fonte
Aqui está outro método usando
String.Format
Resultado:
Isso também funciona se a Data e Hora estiver armazenada no banco de dados.
Para obter mais formatação de data e hora, verifique estes links:
Referência 1
Referência 2
A esperança ajuda.
fonte
Desta forma, obter apenas um encontro sem tempo
Saída = 16/5/2015
fonte
Eu escrevi uma
DateOnly
estrutura. Isso usa um DateTime sob a capa, mas nenhuma parte do tempo é exposta publicamente:Isso é convertido do VB.NET, portanto, desculpe se algumas conversões não forem 100%
fonte
Use date.ToShortDateString () para obter a data sem o componente de hora
use date.ToString () para personalizar o formato da data
fonte
Estou surpreso que ninguém tenha mencionado DateTime.
Consulte MSDN
fonte
Você pode tentar isso pela única data da data e hora
Onde dt é o
DateTime
fonte
Me deparei com este post ao tentar resolver o Q original.
Estou usando o Asp.Net e, depois de algumas pesquisas que descobri quando você está vinculando o valor da data no código por trás, você pode diminuir o tempo para que ele não seja exibido na tela.
C #:
aspx:
fonte
usar
fonte
Se você estiver convertendo em string, poderá fazê-lo facilmente dessa maneira.
Estou tendo data como seu objeto DateTime.
Isso lhe dará apenas a data.
fonte
Se você tirar uma data do calendário, com isso também teremos tempo. O que não é obrigatório o tempo todo. Usando isso, podemos remover a hora da data.
fonte
na minha experiência, nenhuma das soluções mencionadas funcionou, talvez porque eu quisesse remover o tempo da data extraída do banco de dados, mas o código abaixo funcionou bem:
fonte
Declare a variável como uma sequência.
exemplo:
depois atribua um valor como:
fonte
Sei que este é um post antigo com muitas respostas, mas não vi essa maneira de remover a parte do tempo. Suponha que você tenha uma
DateTime
variável chamadamyDate
, com a data com parte do tempo. Você pode criar um novoDateTime
objeto a partir dele, sem a parte do tempo, usando este construtor:Como isso:
Dessa forma, você cria um novo
DateTime
objeto com base no antigo, com 00:00:00 como parte do tempo.fonte
Crie uma estrutura que mantenha apenas as propriedades que você deseja. Em seguida, um método de extensão para obter facilmente essa estrutura a partir de uma instância de DateTime.
Uso
fonte
Para obter apenas a parte da data, use o método ToString (),
exemplo: DateTime.Now.Date.ToString ("dd / MM / aaaa")
Nota: O mm no formato dd / MM / aaaa deve ser maiúsculo
fonte
Use .Date de um objeto DateTime ignorará a parte da hora.
Aqui está o código:
Resultado:
fonte
Use um pouco de RegEx:
Produz uma data no formato: dd / mm / aaaa
fonte
Para uso por datalist, repetidor .. na página aspx: <% # Eval ("YourDateString"). ToString (). Remove (10)%>
fonte
fonte
Isso pode ser feito simplesmente desta maneira:
fonte
Este código fornece uma visão clara da escrita
Date
, bem comoTime
separadamenteEspero que isto ajude.
fonte