vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: DateTime TimeSpan Problem 
Autor: Drapondur
Datum: 01.07.10 00:38

Hi,

da hilft nur selber bauen
Public Class Form1
	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles Button1.Click
		Try
			Dim birthDay As New DateTime(1968, 2, 29) '1968 war ein Schaltjahr
			Dim age As Integer = Now.GetAge(birthDay)
			'Bei VS 2005: Dim age As Integer = GetAge(Now, birthDay)
			Debug.WriteLine("Age is " & age)
		Catch ex As Exception
			MsgBox(ex.ToString)
		End Try
	End Sub
End Class
 
Module Extensions
 
	'Bei Visual Studio 2005 <System.Runtime.CompilerServices.Extension()> weglassen
	<System.Runtime.CompilerServices.Extension()> _
	Public Function GetAge(ByVal referenceDate As DateTime, ByVal birthDate As _
DateTime) As Integer
		birthDate = birthDate.Date
		referenceDate = referenceDate.Date
 
		If referenceDate < birthDate Then
			Throw New ArgumentException("The birthdate's date must not be smaller than" & _
  "the reference date's date.")
		End If
 
		Dim age As Integer = referenceDate.Year - birthDate.Year
 
		'Überprüfen, ob weniger als ein volles Jahr abgelaufen ist. Falls ja: Ein 
' Jahr abziehen
		Dim compareDate As DateTime
		If Not DateTime.IsLeapYear(referenceDate.Year) AndAlso birthDate.Month = 2 _
  AndAlso birthDate.Day = 29 Then
			compareDate = New DateTime(referenceDate.Year, 3, 1)
			'oder: compareDate = New DateTime(referenceDate.Year, 2, 28)
		Else
			compareDate = New DateTime(referenceDate.Year, birthDate.Month, _
  birthDate.Day)
		End If
 
		Dim sp As TimeSpan = referenceDate - compareDate
		If sp < TimeSpan.Zero Then
			age -= 1
		End If
		Return age
	End Function
 
End Module
Ciao
D.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DateTime TimeSpan Problem1.677Magier30.06.10 23:00
Re: DateTime TimeSpan Problem1.404Drapondur01.07.10 00:38
Re: DateTime TimeSpan Problem1.108cookstdu01.07.10 07:29
Re: DateTime TimeSpan Problem1.127ModeratorDaveS01.07.10 09:03

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel