php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 07-11-2006, 22:52
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard Mit Daten vor 1970 rechnen, aber wie?!

Hallöchen!

Ich möchte prüfen, ob eine Person mindestens 40 Jahre alt ist. Das Problem ist, dass der Unix-Zeitstempel erst 1970 beginnt, und diese Person aber vorher geboren ist. Was soll ich tun? Ich find irgendwie keine ordentlichen datumsfunktionen für PHP, bei denen man das ohne Timestamp lösen könnte ?!
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
  #2 (permalink)  
Alt 07-11-2006, 23:45
testererer
 Newbie
Links : Onlinestatus : testererer ist offline
Registriert seit: Oct 2006
Beiträge: 4
testererer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was hindert dich den Timestamp vor 1970 zu benutzen?, der reicht soweit ich weiß bis ins Jahr 1901 zurück.
Mit Zitat antworten
  #3 (permalink)  
Alt 07-11-2006, 23:52
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard

Naja schon aber voer 1970 ist er negativ. Wie soll ich denn damit umgehen? Ich hab sowas noch nie gemacht und daher kA wie ich des angehen soll. Windows unterstüzt z.B. auch garkeine negativen timestamps Nagut das is jez nich mein Problem aber trotzdem. Was tu ich nu?
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
  #4 (permalink)  
Alt 08-11-2006, 00:00
Shurakai
 Master
Links : Onlinestatus : Shurakai ist offline
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.084
Shurakai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Naja, er gibt sein Geb.-Datum doch in der Form 1959 oder so ein, oder? Dann sag doch einfach wenn die Zahl < 1970 ist, ist es eh klar. Dann brauchst du garkeinen Timestamp mehr.
Mit Zitat antworten
  #5 (permalink)  
Alt 08-11-2006, 00:24
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard

Aaaalso..

Jo! Du hast mich auf die entscheidende Idee gebracht. Ich war irgendwie vorher damit beschäftigt das mit den Schaltjahren auszuklügeln, und das es dann mit nem Timestamp trotzdem alles stimmt, und jetzt nachdem ich es nach ein paar Stunden endlich hinbekommen hab, komm ich nach dem lesen deines Posts auf die Idee, die Jahre einfach zu subtrahieren, und zu prüfen ob derjenige in dem Jahr schon geburtstag hatte. Funzt super! Ich danke dir! Ich danke euch beiden!

Gruß
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
  #6 (permalink)  
Alt 08-11-2006, 02:44
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von ArSeN
Naja schon aber voer 1970 ist er negativ. Wie soll ich denn damit umgehen? Ich hab sowas noch nie gemacht und daher kA wie ich des angehen soll. Windows unterstüzt z.B. auch garkeine negativen timestamps
PHP-Code:
$timestamp=mktime(000111960);
echo 
'Timestamp: '.$timestamp.'<br />';
echo 
'Datum: '.date("M-d-Y"$timestamp).'<br />'
ausgabe:
Code:
Timestamp: -315622800
Datum: Jan-01-1960
negative timestamps stellen also grundsätzlich kein problem dar.

Zitat:
PHP-Manual hat geschrieben:
Anmerkung: Der gültige Bereich eines Timestamp liegt typischerweise zwischen Fri, 13 Dec 1901 20:45:54 GMT und Tue, 19 Jan 2038 03:14:07 GMT. (Das entspricht den minimalen und maximalen Werten für einen vorzeichenbehafteten 32-Bit Integer). Unter Windows-Betriebssytemen ist dieser Bereich auf 01-01-1970 bis 19-01-2038 beschränkt.
diese aussage kann ich nachvollziehen, o.g. code habe ich auf einem wamp-system mit winxp pro sp2 ausgeführt
weiß jemand rat, worauf sich das handbuch bezieht?
Mit Zitat antworten
  #7 (permalink)  
Alt 08-11-2006, 03:36
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard

Worauf soll sich das denn beziehn? Unter Windows gehts halt nich mit negativen? Verstehe die Frage nicht..
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
  #8 (permalink)  
Alt 08-11-2006, 05:24
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von ArSeN
Worauf soll sich das denn beziehn? Unter Windows gehts halt nich mit negativen? Verstehe die Frage nicht..
was hast du daran nicht verstanden?
Zitat:
o.g. code habe ich auf einem wamp-system mit winxp pro sp2 ausgeführt
winxp: WINDOWS XP
Mit Zitat antworten
  #9 (permalink)  
Alt 08-11-2006, 08:05
Benutzerbild von Meillo Meillo
 Registrierter Benutzer
Links : Onlinestatus : Meillo ist offline
Registriert seit: Mar 2004
Ort: Balmora
Beiträge: 1.869
Meillo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@3DMax: Mir geht es da auch nicht anders als ArSeN

Zitat:
Original geschrieben von ArSeN
Worauf soll sich das denn beziehn? Unter Windows gehts halt nich mit negativen? Verstehe die Frage nicht..
Zitat:
diese aussage kann ich nachvollziehen, o.g. code habe ich auf einem wamp-system mit winxp pro sp2 ausgeführt
weiß jemand rat, worauf sich das handbuch bezieht?
welchen Aussage kannst du nachvollziehen? Was bedeutet "nachvollziehen" - d.h. was meint er denn konkret bei einem Datum < 1970?


... und könnte jemand vielleicht noch ein Windows 2k o.ä. testen
__________________
Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.

btw: REAL PROGRAMMERs aren't afraid to use GOTOs!

Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...
(from here)
Mit Zitat antworten
  #10 (permalink)  
Alt 08-11-2006, 08:19
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

er hat nur ein "nicht" vergessen. Er kann die aussage nicht nachvollziehen,
da sein testsystem eben doch mit werten kleiner 1970 arbeiten kann.
Das soll aber laut docu nicht gehen.

greets
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #11 (permalink)  
Alt 08-11-2006, 12:07
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von closure
er hat nur ein "nicht" vergessen. Er kann die aussage nicht nachvollziehen,
da sein testsystem eben doch mit werten kleiner 1970 arbeiten kann.
Das soll aber laut docu nicht gehen.
joh danke, genauso war es gemeint.

Zitat:
... und könnte jemand vielleicht noch ein Windows 2k o.ä. testen
das würde mich auch mal interessieren. zur not muss ich einen wamp unter vmware einrichten...
Mit Zitat antworten
  #12 (permalink)  
Alt 08-11-2006, 13:28
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@max
Also gemäss Manual ist das bei Win unmöglich Probier doch mal was ein
PHP-Code:
echo date("M-d-Y H:i:s",-1); 
ergibt. Gibt das irgendwas wie 31.12.1969 23:59:59 ?

Ich habe deinen Timestamp mal in Tage umgerechnet. Ergibt Pi mal Auge 3653 Tage was in etwa einem Datum 10 Jahre vor Unix 0 entsprechen müsste. Scheint komischerweise korrekt zu funzen.
Bei mktime() steht noch folgendes im Manual, was wieder ein Widerspruch zu deinen Ergebnissen wäre
Zitat:
aus dem Manual

Windows: Negative Timestampwerte werden von keiner uns bekannten Windowsversion unterstützt. Aus diesem Grund ist der Gültigkeitsbereich für Jahresangaben auf Werte zwischen 1970 und 2038 eingeschränkt.
Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #13 (permalink)  
Alt 08-11-2006, 13:31
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

http://www.php.net/manual/en/function.mktime.php:
Zitat:
Before PHP 5.1.0, negative timestamps were not supported under any known version of Windows and some other systems as well. Therefore the range of valid years was limited to 1970 through 2038.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #14 (permalink)  
Alt 08-11-2006, 13:34
Trashar
 PHP Senior
Links : Onlinestatus : Trashar ist offline
Registriert seit: Dec 2001
Ort: /root/
Beiträge: 1.366
Trashar ist zur Zeit noch ein unbeschriebenes Blatt
Trashar eine Nachricht über ICQ schicken Trashar eine Nachricht über AIM schicken
Standard

Zitat:
Original geschrieben von wahsaga
http://www.php.net/manual/en/function.mktime.php:
und deswegen sollte man auch die englische manu bevorzugen :|
Mit Zitat antworten
  #15 (permalink)  
Alt 08-11-2006, 13:35
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@wahsaga
Du hast es mir bereits früher einmal in einem Thread gesagt: Nicht auf die dt Übersetzung des Manuals verlassen. Und trotzdem habe ich es wieder getan Danke...
@max
Na dann hast mindestens PHP 5.1.0

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:56 Uhr.