|
Autor |
PHP: strtotime( )-Syntax |
|
knaggix
Aktiv  Dabei seit: 01.02.2008 Mitteilungen: 423
Wohnort: CH
 | Themenstart: 2021-04-21
|
Hallo zusammen
Ich "kämpfe" gerade mit dem php Syntax strtotime( )
Ich möchte einen eindeutigen timestamp für den aktuellen Tag generieren.
Ich frage also den aktuellen timestamp ab.
Danach ziehe ich die Sekunden vom aktuellen Tag ab und erhalte einen "Tagestimestamp":
\sourceon php
$timestamp = time(); // aktueller Timestamp
$divisor = 86400; // ein Tag hat 24*60*60 Sekunden
$timestamp_tag = $timestamp - ($timestamp % $divisor);
\sourceoff
Ich möchte nun genau diesen Tagestimestamp vom Datum her generieren :
Ich frage also das Datum ab und nutze dann strtotime( )
\sourceon php
$ex_day = $_REQUEST["ex_day"];
$ex_month = $_REQUEST["ex_month"];
$ex_year = $_REQUEST["ex_year"];
// hier aus dem Prüfungs-Datum einen Tages-Timestamp --> p_nr machen
// mit strtotime('2006-11-29 16:09:30');
// syntax strtotime('Y-m-d h:min:sec');
// wieso muss ich 2 Stunden dazu geben? Funktioniert aber warum?
$p_nr = strtotime($ex_year."-".$ex_month."-".$ex_day." 02:00:00") ;
\sourceoff
Nach einigem Ausprobieren scheint es zu funktionieren.
Ich würde nun gerne verstehen, warum es funktioniert. 😄😖😂
Was ich gerne wüsste , ist, warum ich diese 02:00:00 (dies sind 2 Zeitstunden) hinzufügen muss?
Danke für eure Tipps.
herzliche GRüsse,
knaggix
|
Profil
|
Wally
Senior  Dabei seit: 02.11.2004 Mitteilungen: 9522
Wohnort: Dortmund, Old Europe
 | Beitrag No.1, eingetragen 2021-04-21
|
Hallo,
sieht wie Greenwich-Zeit ohne Sommerzeit aus.
Guck mal hier
Viele Grüße
Wally
|
Profil
|
knaggix
Aktiv  Dabei seit: 01.02.2008 Mitteilungen: 423
Wohnort: CH
 | Beitrag No.2, vom Themenstarter, eingetragen 2021-04-21
|
Danke Wally
Hab mal in diese Zeitzonen reingeschaut:
Ob ich das einbauen sollte?
Hätte dies Auswirtkungen, die ich nicht absehen kann?
\sourceon php
date_default_timezone_set('Europe/Zurich');
\sourceoff
Danke für Hinweise
lg,knaggix
|
Profil
|
rlk
Senior  Dabei seit: 16.03.2007 Mitteilungen: 11467
Wohnort: Wien
 | Beitrag No.3, eingetragen 2021-04-21
|
Hallo knaggix,
ein Klick auf strtotime im Quelltextbereich bringt Dich auf die Seite
https://www.php.net/strtotime wo der folgende Hinweis zu finden ist:
\quoteon(PHP Manual, strtotime)
Warning The Unix timestamp that this function returns does not contain information about time zones. In order to do calculations with date/time information, you should use the more capable DateTimeImmutable.
\quoteoff
Servus,
Roland
|
Profil
|
knaggix
Aktiv  Dabei seit: 01.02.2008 Mitteilungen: 423
Wohnort: CH
 | Beitrag No.4, vom Themenstarter, eingetragen 2021-04-24
|
Danke rlk
Ich habe das gefudnen:
\sourceon php
// Create a DateTimeImmutable Object
$date = new DateTimeImmutable('2000-01-01');
// "Change" that object and assign it's value to a new variable
$date2 = $date->add(new DateInterval('P6M5DT24H'));
// Check out the content of the two variables
echo $date->format('Y-m-d') . "\n";
// 2000-01-01
echo $date2->format('Y-m-d') . "\n";
// 2000-07-07
\sourceoff
Ich werde also mal testen, ob meine strtotime() Variante irgendwann ein Problem bekommt. Bis jetzt läuft es.
Falls ja, wende ich mich dem (für mich komplizierteren) DateTimeImmutable Objekt zu.
Danke fürs Mitdenken,
lieber Gruss,
knaggix
|
Profil
|
knaggix hat die Antworten auf ihre/seine Frage gesehen. knaggix hat selbst das Ok-Häkchen gesetzt. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2022 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|