Baldow 0 Denunciar post Postado Agosto 27, 2007 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
eriva_br 7 Denunciar post Postado Agosto 28, 2007 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 Functionchamando: 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 Subno 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