Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Baldow

Datediff me

Recommended Posts

eu to começando a trabalhar com programaçao , e tnho q fazer um programa tipo assim........

 

quando o kra chegar e colocar a data de nascimento eu tnho q coloca uma msgbox na tela dizendo quantos dias falta p/ proximo aniversario do cidadao !!!!!!

 

alguem me ajuda com isso plzzzzzzz !!!!! http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

pensei que tinha pronto essa função na classe System.DateTime, mas não encontrei, o jeito é construi uma personalizada:

 

C#

private string DateDiff(string pData)		{			DateTime iDtNiver = Convert.ToDateTime(pData);			iDtNiver = new DateTime(DateTime.Today.Year, iDtNiver.Month, iDtNiver.Day);			if (iDtNiver < DateTime.Today)			{//esse ano foi, vamos verificar no próximo ano				iDtNiver = new DateTime(DateTime.Today.Year + 1, iDtNiver.Month, iDtNiver.Day);			}			TimeSpan iDias = iDtNiver.Subtract(DateTime.Today);			return iDias.TotalDays.ToString();		}
chamando:

private void Form1_Load(object sender, EventArgs e)		{			MessageBox.Show("Faltam " + DateDiff("1978-08-16").ToString() + " dias"); //hoje 28/08/2007: retorna 354 dias			MessageBox.Show("Faltam " + DateDiff("1955-09-01").ToString() + " dias"); //hoje 28/08/2007: retorna 4 dias		}
VB

Function DateDiff(ByVal pData As String) As String		Dim iDtNiver As DateTime = Convert.ToDateTime(pData)		iDtNiver = New DateTime(DateTime.Today.Year, iDtNiver.Month, iDtNiver.Day)		If (iDtNiver < DateTime.Today) Then			'esse ano foi, vamos verificar no próximo ano			iDtNiver = New DateTime(DateTime.Today.Year + 1, iDtNiver.Month, iDtNiver.Day)		End If		Dim iDias As TimeSpan = iDtNiver.Subtract(DateTime.Today)		Return iDias.TotalDays.ToString()	End Function
chamando:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load		MessageBox.Show("Faltam " + DateDiff("1978-08-16").ToString() + " dias") 'hoje 28/08/2007: retorna 354 dias		MessageBox.Show("Faltam " + DateDiff("1955-09-01").ToString() + " dias") 'hoje 28/08/2007: retorna 4 dias	End Sub
no SQL Server tem a função DateDiff pronta: http://msdn2.microsoft.com/en-us/library/a...69(sql.80).aspx

 

tem esse exemplo tb. em VB no msdn: http://msdn2.microsoft.com/en-us/library/t...0x7(VS.80).aspx

 

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.