COMO CONTAR DIAS CORENTES DO ANO EM VB.NET
ola pessoal olha eu depois procurar muito na internet não achei
nada que me mostrasse como contar dias do ano em vb.net
EXEMPLO
digamos que hoje 21/11/2009 , queria saber como quantos dias do ano tem essa data.
nada que me mostrasse como contar dias do ano em vb.net
EXEMPLO
digamos que hoje 21/11/2009 , queria saber como quantos dias do ano tem essa data.
nao entendi muito a pergunta, tu quer saber quantos dias passaram desde o inicio do ano ??
isso mesmo
DateTime.Now.Subtract(new DateTime(DateTime.Now.Year , 1,1)).TotalDays.ToString()
esta contado errado e seu metodo ai
veja eu acabei de termina uma função um pouco grande mais conta certinho
mas queria diminuir essa função esta muito grande
para utiliza basta usar no seguinte modo
MsgBox(CoutDays(Date.Now.Date))
esse metodo acima conto a data de hoje 21/11/2009 como 324 sendo que ja é 325
como faço para formata essa sua função esta com muito numeros
veja eu acabei de termina uma função um pouco grande mais conta certinho
mas queria diminuir essa função esta muito grande
Public Function CoutDays(ByVal Data As Date) As String
Dim Mes As String = Format(Data, [Ô]MM[Ô])
Dim Dias As String = Format(Data, [Ô]dd[Ô])
Dim DiasContados As String
If Mes = [Ô]01[Ô] Then
DiasContados = [Ô]31[Ô] - Dias [ô] Janeiro = 31
DiasContados = [Ô]31[Ô] - DiasContados
ElseIf Mes = [Ô]02[Ô] Then
DiasContados = [Ô]59[Ô] - Dias [ô] Fevereiro = 28
DiasContados = [Ô]59[Ô] - DiasContados
DiasContados = (31 + DiasContados)
ElseIf Mes = [Ô]03[Ô] Then
DiasContados = [Ô]90[Ô] - Dias [ô] Março = 31
DiasContados = [Ô]90[Ô] - DiasContados
DiasContados = (59 + DiasContados)
ElseIf Mes = [Ô]04[Ô] Then
DiasContados = [Ô]120[Ô] - Dias [ô] Abril = 30
DiasContados = [Ô]120[Ô] - DiasContados
DiasContados = (90 + DiasContados)
ElseIf Mes = [Ô]05[Ô] Then
DiasContados = [Ô]151[Ô] - Dias [ô] Maio = 31
DiasContados = [Ô]151[Ô] - DiasContados
DiasContados = (120 + DiasContados)
ElseIf Mes = [Ô]06[Ô] Then
DiasContados = [Ô]181[Ô] - Dias [ô] Junho = 30
DiasContados = [Ô]181[Ô] - DiasContados
DiasContados = (151 + DiasContados)
ElseIf Mes = [Ô]07[Ô] Then
DiasContados = [Ô]212[Ô] - Dias [ô] Julho = 31
DiasContados = [Ô]212[Ô] - DiasContados
DiasContados = (181 + DiasContados)
ElseIf Mes = [Ô]08[Ô] Then
DiasContados = [Ô]243[Ô] - Dias [ô] Agosto = 31
DiasContados = [Ô]243[Ô] - DiasContados
DiasContados = (212 + DiasContados)
ElseIf Mes = [Ô]09[Ô] Then
DiasContados = [Ô]273[Ô] - Dias [ô] Setembro = 30
DiasContados = [Ô]273[Ô] - DiasContados
DiasContados = (243 + DiasContados)
ElseIf Mes = [Ô]10[Ô] Then
DiasContados = [Ô]304[Ô] - Dias [ô] Outubro = 31
DiasContados = [Ô]304[Ô] - DiasContados
DiasContados = (273 + DiasContados)
ElseIf Mes = [Ô]11[Ô] Then
DiasContados = [Ô]334[Ô] - Dias [ô] Novembro = 30
DiasContados = [Ô]334[Ô] - DiasContados
DiasContados = (304 + DiasContados)
ElseIf Mes = [Ô]12[Ô] Then
DiasContados = [Ô]365[Ô] - Dias [ô] Dezembro = 31
DiasContados = [Ô]365[Ô] - DiasContados
DiasContados = (334 + DiasContados)
End If
Return DiasContados
End Function
para utiliza basta usar no seguinte modo
MsgBox(CoutDays(Date.Now.Date))
esse metodo acima conto a data de hoje 21/11/2009 como 324 sendo que ja é 325
como faço para formata essa sua função esta com muito numeros
nao conta errado,somente traz uma numero que eh long
ademas a tua conta fevereiro com 28 dias e os anos bisextos traz errado o numero de dias
ademas a tua conta fevereiro com 28 dias e os anos bisextos traz errado o numero de dias
ops descobri bastava formata para numero sem casas decimais,ai fica arredonda com a contagem dos dias certa
Dim dd As String
dd = DateTime.Now.Subtract(New DateTime(DateTime.Now.Year, 1, 1)).TotalDays.ToString()
dd = FormatNumber(dd, 0)
é
é verdade RAMSES não tinha notado. mas eu nem vo usar mais éssa minha função. vou usar esse seu metado agora formatei certinho ta funcionado normal
Citação:RAMSES escreveu:
nao conta errado,somente traz uma numero que eh long
ademas a tua conta fevereiro com 28 dias e os anos bisextos traz errado o numero de dias
é verdade RAMSES não tinha notado. mas eu nem vo usar mais éssa minha função. vou usar esse seu metado agora formatei certinho ta funcionado normal
Tópico encerrado , respostas não são mais permitidas