CONVERTER DATA EM NÊMERO
Olá Amigos.
Preciso de ajuda. Tenho que converter uma data em número. Isso é muito fácil no Excel, mais em VB não sei como fazer. Exemplo.
Para data 25/03/2014 convertida em número no Excel temos 41723.
No meu código, tenho a seguinte instrução:
Dim dia As String = String.Format([Ô]{dd/MM/yyyy, 0}[Ô], DateTime.Now)
preciso converter a variável dia em numero, como no Excel, e depois converte-la novamente em data.
Alguém pode me ajudar?
Abraços.
Preciso de ajuda. Tenho que converter uma data em número. Isso é muito fácil no Excel, mais em VB não sei como fazer. Exemplo.
Para data 25/03/2014 convertida em número no Excel temos 41723.
No meu código, tenho a seguinte instrução:
Dim dia As String = String.Format([Ô]{dd/MM/yyyy, 0}[Ô], DateTime.Now)
preciso converter a variável dia em numero, como no Excel, e depois converte-la novamente em data.
Alguém pode me ajudar?
Abraços.
dateserial é a função que faz isso
veja
exemplo
veja
DateSerial(ano,mes,dia)
exemplo
MsgBox CDbl(DateSerial(2014, 3, 25))
ps: esqueci de perguntar qual visual studio está usando se for superior ao vb2005.
para converter a data para serial usa-se
para converter serial para data
para converter a data para serial usa-se
Dim S As Double = DateSerial(2014, 3, 25).ToOADate
para converter serial para data
Dim d As Date = Date.FromOADate(S)
Fala Marcelo, obrigado pela ajuda.
Mais então terei que separar a string em dia, mês e ano??
Será que não tem uma maneira mais fácil de fazer isso?
Sds,
Mais então terei que separar a string em dia, mês e ano??
Dim DIA As String = String.Format([Ô]{0:dd/MM/yyyy}[Ô], DateTime.Now) [ô][txt-color=#e80000]AQUI TENHO, POR EXEMPLO 09/04/2014[/txt-color]
Dim NUMBER As Double
NUMBER = DateSerial(????, ????, ????).ToOADate() [txt-color=#e80000][ô]dai como que ficaria se o data está como string na variável DIA[/txt-color]
Será que não tem uma maneira mais fácil de fazer isso?
Sds,
Matei Camarada!!!!
Com sua ajuda e um pouquinho mais de internet consegui fazer.
Segue código para quem precisar.
Abraços.
Com sua ajuda e um pouquinho mais de internet consegui fazer.
Segue código para quem precisar.
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
Dim DIA As String = String.Format([Ô]{0:dd/MM/yyyy}[Ô], DateTime.Now)
Dim NUMBER As Double
Dim NEWDATE As String
NUMBER = DateSerial(Year(Now.Date), Month(Now.Date), Now.Day).ToOADate
NEWDATE = Date.FromOADate(NUMBER)
MessageBox.Show([Ô]DIA DE HOJE = [Ô] & DIA & vbNewLine & [Ô]DATA SERIAL = [Ô] & NUMBER & vbNewLine & [Ô]DATA RETORNO = [Ô] & NEWDATE, [Ô]Sistema de Cadastro Informa![Ô], MessageBoxButtons.OK, MessageBoxIcon.Stop)
End Sub
Abraços.
assim
Dim DIA As String = String.Format([Ô]{0:dd/MM/yyyy}[Ô], DateTime.Now) [ô]AQUI TENHO, POR EXEMPLO 09/04/2014
Dim dt As DateTime = Convert.ToDateTime(DIA)
Dim Y As Integer = dt.Year.ToString
Dim M As Integer = dt.Month.ToString
Dim D As Integer = dt.Day.ToString
MsgBox(DateSerial(Y, M, D).ToOADate()) [ô]dai como que ficaria se o data está como string na variável DIA
Tópico encerrado , respostas não são mais permitidas