Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Jahresdifferenz zwischen zwei Datumsangaben

Mitglied: simon-ni

simon-ni (Level 1) - Jetzt verbinden

13.03.2013, aktualisiert 14.03.2013, 1932 Aufrufe, 5 Kommentare

Hallo,

ich hoffe Ihr könnt mir eine kurze Antwort geben, da mein PHP ist leider nicht gut genug, um die Beispiele zu verstehen die ich bei Google finde, wäre ich über eure Hilfe dankbar.


Ich habe ein Datum aus einer Datenbank und das aktuelle Datum. Das Datum in der Datenbank ist im Format wie unten $datum1 abgelegt.

Für eine Abfrage brächte ich die Differenz in Jahren, die einen Wert von 0,1,2,... entspricht.

01.
  
02.
 
03.
$datum1 = "01.01.2012";  
04.
$datum2 = date('d.m.Y'); 
05.
 

Über eine Antwort würde ich mich freuen.

Viele Grüße
Nico
Mitglied: Guenni
13.03.2013 um 10:55 Uhr
Hi simon-ni,

du wandelst das Datum mit strtotime in einen Zeitstempel um, und übergibst diesen als zweites Argument an date,

wobei der Formatstring in date nur das "Y" für die Jahreszahl enthält.

01.
<?php 
02.
$jahr_alt = date("Y", strtotime("01.01.2002")); 
03.
$jahr_neu = date("Y"); 
04.
$differenz = $jahr_neu - $jahr_alt
05.
echo $differenz
06.
?>

Gruß
Günni

PS.: Hier -> http://php.net/manual/de/index.php findest du zu allen Funktionen verständliche Beispiele
Bitte warten ..
Mitglied: MrNetman
13.03.2013 um 10:58 Uhr
Hi Nico,

es gibt noch einen kleine Unterschied:
Differenz des Kalenderjahrs oder des laufenden Jahres bis auf den Tag genau. Letzteres ist z.B: für eine Altersangabe relevant.

Dann geht es darum das Jahr bis auf die Anzahl der Tage runter zu brechen. Mit den Tagen kannst du wieder rechnen.
Dazu verwendet man Befehle um Teile des Strings zu extrahieren.
%datum1:~0,2% liefert das Jahr zweistellig ab Position 0
date /t liefert genau das Format, das du benötigst.

Gruß
Netman
Bitte warten ..
Mitglied: simon-ni
13.03.2013 um 11:24 Uhr
Zitat von MrNetman:
Dann geht es darum das Jahr bis auf die Anzahl der Tage runter zu brechen. Mit den Tagen kannst du wieder rechnen.
Dazu verwendet man Befehle um Teile des Strings zu extrahieren.
%datum1:~0,2% liefert das Jahr zweistellig ab Position 0
date /t liefert genau das Format, das du benötigst.


Erstmal danke an Günni, leider ist das nicht die gesuchte Lösung, ich habe mich nicht richtig ausgedrückt.

Es sollte wie von MrNetman beschrieben für eine Altersangabe sein. Ich kenne php.net leider reichen meine PHP Kenntnisse nicht immer aus um das zu verstehen.

Ich habe das hier gefunden, könnte mir das jemand schnell umschreiben, das ich als eingabe meine Variable Datum1, im angegebenen Format, habe?
01.
   $tag = 19; 
02.
   $monat = 4; 
03.
   $jahr = 1985; 
04.
 
05.
   $jetzt = mktime(0,0,0,date("m"),date("d"),date("Y")); 
06.
   $geburt = mktime(0,0,0,$monat,$tag,$jahr); 
07.
   $age   = intval(($jetzt - $geburt) / (3600 * 24 * 365)); 
08.
 
09.
   echo $age . " Jahre alt";
Bitte warten ..
Mitglied: Guenni
13.03.2013 um 11:49 Uhr
Hi simon-ni,

du speicherst mittels explode dein Datum als Array, und übergibst die Array-Elemente an mktime.

01.
<?php 
02.
$datum1 = "05.12.1961"
03.
$geboren = explode('.', $datum1); 
04.
 
05.
$jetzt = mktime(0,0,0,date("m"),date("d"),date("Y")); 
06.
$geburt = mktime(0,0,0,$geboren[1],$geboren[0],$geboren[2]); 
07.
$age   = intval(($jetzt - $geburt) / (3600 * 24 * 365)); 
08.
 
09.
echo $age . " Jahre alt"
10.
?>

Gruß
Günni
Bitte warten ..
Mitglied: simon-ni
13.03.2013 um 12:48 Uhr
Das funktioniert, vielen dank
Bitte warten ..
Ähnliche Inhalte
Microsoft

Zwei Datumsangaben in Access subtrahieren in der Entwurfansicht?

gelöst Frage von bananajo05Microsoft2 Kommentare

Hallo, ich soll die tatsächliche Ausleidauer von Büchern berechnen und würde somit gerne aus einer Tabelle zwei Datumsangaben voneinander ...

Microsoft Office

EXCEL 2016 Wie in Seitenansicht in Fußzeile eine Datumsangabe aus anderer Zeile reinkopieren?

Frage von Hobi84Microsoft Office9 Kommentare

Hallo, ich habe in einem EXCEL Tabellenblatt mir in der Seitenansicht eine Fußzeile erstellt und möchte dort eine Datumsangabe ...

Router & Routing

Zwei Switches, zwei VLANs

gelöst Frage von SonneLachtRouter & Routing11 Kommentare

Hallo, ich habe hier eine verzwickte Situation. Ich habe zwei WAN-Anbindungen, jeweils Erstweg und Zweitweg, macht also vier WAN-Router. ...

Microsoft Office

MS Office Excel - wie kann ich aus bis zu 7 Datumsangaben eine durchschnittliche Tagesanzahl erhalten?

gelöst Frage von perpendicularMicrosoft Office6 Kommentare

Tag allerseits, ich stehe mal wieder mit Excel (2010) auf dem Kriegsfuß. Folgende Herausforderung: - ich habe ein Arbeitsblatt ...

Neue Wissensbeiträge
Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 28 MinutenAdministrator.de Feedback4 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 17 StundenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 1 TagSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...