COMO CONTAR DIAS CORENTES DO ANO EM VB.NET

CARLINHOSVS 21/11/2009 12:53:49
#328333
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.
RAMSES 21/11/2009 14:20:55
#328335
nao entendi muito a pergunta, tu quer saber quantos dias passaram desde o inicio do ano ??
CARLINHOSVS 21/11/2009 14:26:40
#328336
isso mesmo
RAMSES 21/11/2009 15:13:58
#328338
DateTime.Now.Subtract(new DateTime(DateTime.Now.Year , 1,1)).TotalDays.ToString()
CARLINHOSVS 21/11/2009 15:25:32
#328339
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

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
RAMSES 21/11/2009 15:33:22
#328340
Resposta escolhida
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
CARLINHOSVS 21/11/2009 15:36:40
#328341
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)
RAMSES 21/11/2009 15:39:30
#328342
CARLINHOSVS 21/11/2009 15:44:10
#328343
é
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