Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Datumsprobleme mit PHP-Funktion mktime()

Empfohlene Antworten

Veröffentlicht

Hallo. Ich habe folgendes Problem:

Aus einer Datenbank lese ich die Werte für Tag, Monat, Jahr aus...also stehen nun in den Variablen $Monat der Wert 05, in $Tag der Wert 06 und in $Jahr der Wert 66.

Soweit ist alles klar, aber bei folgender Zeile:

$timestampPerson=mktime(0,0,0, date($Monat), date($Tag), date($Jahr));

erscheint die Fehlermeldung:

mktime(): Windows does not support negative values for this function ...

Was ist an diesem Befehl verkehrt? Ich weiß echt nicht mehr weiter.

Ich möchte mit dem Timestamp das Alter einer Person errechnen, also

TimestampHeutigesDatum-TimestampPerson

Falls das nicht so geht wie ich oben geschrieben habe, hat jemand vielleicht eine andere Idee wie ich das Alter einer Person errechnen kann?

Vielen Dank

Du hast doch die Zahlenwerte schon, wieso dann noch date(xy) benutzen?

http://www.php.net/manual/en/function.mktime.php

mktime(0, 0, 0, 13, 1, 1997)

mktime(0, 0, 0, $monat, $tag, $jahr)

Gruß Jaraz

Ja gut....aber die Fehlermeldung bleibt die gleiche, auch wenn ich date() weglasse...

$Monat = 05

$Tag = 06

$Jahr = 66

Windows: Negative timestamps are not supported under any known version of Windows. Therefore the range of valid years includes only 1970 through 2038.

Immer noch die selbe Fehlermeldung...gibts da keinen Trick wie ich das Alter errechnen kann ohne das Update?

Ne Update funzt auch nicht, habe mich vertan!

Du könntest mal die Funktionen in den Kommentaren der Doku ausprobieren:

http://www.php.net/manual/en/function.mktime.php

Gruß Jaraz

du müsstest das jahr 4 stellig angeben!

btw:

bevor du in der datenbank dir 3 getrennte spalten in einer tabelle anlegst (für tag, monat, jahr) könntest du besse mit nem unixtimestamp, bzw mit nem mysql_timestamp arbeiten. das erleichtert das ganze um ein vielfaches.

wenn du unix timestamps verwendest, kannst du dir dein datum mit der PHP Funktion date() formatieren.

wenn du mysql timestamps verwendest, kannst du dir dein datum direkt im SQL mit formatDate() formatieren!

Gruß,

kills

Mit vierstelligem Jahr hats auch nicht geklappt, aber trotzdem Danke...hab durch lauter rumprobieren das ganze hingekriegt ohne Timestamps zu verwenden :)

hab durch lauter rumprobieren das ganze hingekriegt ohne Timestamps zu verwenden

Wie das?

Wenn man eben keine Zeitstempel verwendet führt es meist dazu, dass z.B. Schaltjahre nicht richtig mit eingereichnet werden, was zu ungenauen Ergebnissen führen kann.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.