Θεμα με ημερομηνιες

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
dimitrisdamo
Δημοσιεύσεις: 78
Εγγραφή: 19 Νοέμ 2009 20:00
Επικοινωνία:

Θεμα με ημερομηνιες

Δημοσίευση από dimitrisdamo » 18 Ιουν 2010 20:40

Εστω οτι αυτη ειναι η σημερινη ημερομηνια

Κώδικας: Επιλογή όλων

$l=date ("Y-m-d G:i:s");
και εχουμε καταχωρησει ενα κειμενο το οποιο εχει την ημερομηνια που εγινε το ποστ πως ακριβως θα μπορουσαμε να υπολογισουμε την διαφορα τους και να εξαγουμε το καταλληλο μηνυμα.
Δηλαδη το ποστ εγινε 2 μερες πριν ή Το ποστ εγινε 30 δευτερολεπτα πριν

:kaloe: :kaloe:

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Θεμα με ημερομηνιες

Δημοσίευση από Banavas » 18 Ιουν 2010 22:36

Διάβασε εδώ http://www.freestuff.gr/forums/viewtopic.php?t=50008 και αν δεν σε καλύψει τα ξαναλέμε..
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
dimitrisdamo
Δημοσιεύσεις: 78
Εγγραφή: 19 Νοέμ 2009 20:00
Επικοινωνία:

Θεμα με ημερομηνιες

Δημοσίευση από dimitrisdamo » 18 Ιουν 2010 22:38

το διαβασα απλα δεν ξερω πως να το υλοποιησω παρεπιπτωντος
το ειδα και εδω lasernet.gr/projects.php?pro=8[/code]

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Θεμα με ημερομηνιες

Δημοσίευση από Banavas » 18 Ιουν 2010 23:02

Εγώ το έγραψα να μην το βάλω και στο site μου;
Με αλλαγή στο παράδειγμα 2 μπορείς να το κάνεις.
Υπολόγισε το timestamp της ημερομηνίας καταχώρησης και αφαίρεσέ το από το timestamp της τρέχουσας στιγμής ( time() )
Το αποτέλεσμα θα είναι σε δευτερόλεπτα.
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
dimitrisdamo
Δημοσιεύσεις: 78
Εγγραφή: 19 Νοέμ 2009 20:00
Επικοινωνία:

Θεμα με ημερομηνιες

Δημοσίευση από dimitrisdamo » 19 Ιουν 2010 15:27

Κώδικας: Επιλογή όλων

<?php


$now=time&#40;&#41;;
$post2=mktime&#40;7,15,59,6,9,2008&#41;;
$mero=date&#40;"Y-m-d G&#58;i&#58;s",$post2&#41;;
$up=&#40;$now-$post2&#41;;

echo date&#40;"Y-m-d G&#58;i&#58;s",$up&#41;;
?>
εχω γραψει αυτο εδω και μου βγαζει οτι το ποστ εγινε το 1972-01-11 9:01:07
εγω θελω να βρω την ωρα που περασε απο τοτε που εγινε το ποστ :-?

και σορρυ δεν προσεξα οτι ειναι το σιτε σου

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Θεμα με ημερομηνιες

Δημοσίευση από burnmind » 19 Ιουν 2010 15:38

dimitrisdamo έγραψε:

Κώδικας: Επιλογή όλων

<?php


$now=time&#40;&#41;;
$post2=mktime&#40;7,15,59,6,9,2008&#41;;
$mero=date&#40;"Y-m-d G&#58;i&#58;s",$post2&#41;;
$up=&#40;$now-$post2&#41;;

echo date&#40;"Y-m-d G&#58;i&#58;s",$up&#41;;
?>
εχω γραψει αυτο εδω και μου βγαζει οτι το ποστ εγινε το 1972-01-11 9:01:07
εγω θελω να βρω την ωρα που περασε απο τοτε που εγινε το ποστ :-?

και σορρυ δεν προσεξα οτι ειναι το σιτε σου
Αν διαβάσεις λίγο καλύτερα τον κώδικα του Banavas, θα παρατηρήσεις κάτι:

Κώδικας: Επιλογή όλων

$dianikterefseis = round&#40;&#40;$departure_date - $arrival_date&#41;/86400&#41;;
Επίσης, κάντε τον κόπο και ψάξτε και στο google. Για παράδειγμα, αυτό είναι το πρώτο αποτέλεσμα στο keyword "php difference between dates" και εξηγεί ακριβώς αυτό που προσπαθείς να κάνεις..

Άβαταρ μέλους
dimitrisdamo
Δημοσιεύσεις: 78
Εγγραφή: 19 Νοέμ 2009 20:00
Επικοινωνία:

Θεμα με ημερομηνιες

Δημοσίευση από dimitrisdamo » 19 Ιουν 2010 17:04

ευχαριστω πολυυυυυ
αν και ο τροπος ειναι καπως αυστηρος πιστευω για ενα ατομο που απλα προσπαθει να μαθει.
και κατι ακομα το round ουσιαστικα το βαζουμε για να στρογγυλοποισουμε τους float αριθμους..
και συγνωμη αν γινομαι φορτικος απλα θελω να μαθω.. :lol:

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Θεμα με ημερομηνιες

Δημοσίευση από burnmind » 19 Ιουν 2010 19:56

dimitrisdamo έγραψε:ευχαριστω πολυυυυυ
αν και ο τροπος ειναι καπως αυστηρος πιστευω για ενα ατομο που απλα προσπαθει να μαθει.
και κατι ακομα το round ουσιαστικα το βαζουμε για να στρογγυλοποισουμε τους float αριθμους..
και συγνωμη αν γινομαι φορτικος απλα θελω να μαθω.. :lol:
Παρακαλώ. :)

Για τον "αυστηρό τρόπο" θα διαφωνήσω. Αν περιμένεις πως κάποιος θα σε παίρνει "αγκαλίτσα" και θα σου μαθαίνει όλα όσα πρέπει να μάθεις σα να σου διαβάζει παραμύθι τότε γεννήθηκες σε λάθος κόσμο! :P (βάζω και ένα emoticon για να μη το πάρεις στραβά γιατί πραγματικά δε το λέω με κακία)

Απ'ότι είδα εδώ, ψάχνεις για πρακτική. Όταν θα βρεις με το καλό, θα σε σουτάρουν (όπως και στην κάθε δουλειά) αν για το κάθε τι πας και χτυπάς τον ώμο κάποιου πιο έμπειρου εκεί μέσα χωρίς πρώτα να έχεις ψάξει/διαβάσει μόνος σου!

Σ'αυτό το topic για παράδειγμα, η απάντησή σου βρισκόταν στο πρώτο αποτέλεσμα στην αναζήτηση στο google. Δεν αφιέρωσες το χρόνο να ψάξεις και προτίμησες να ρωτήσεις. Οκ, αλλά και όταν ο Banavas σου έδωσε την απάντηση (όπως θα έκανε για παράδειγμα ο έμπειρος προγραμματιστής εκεί που κάνεις πρακτική), τη διάβασες στα πεταχτά και στο πρώτο πράγμα που δοκίμασες και δε δούλεψε ξαναρώτησες. Ενώ, αν αφιέρωνες το χρόνο να το διαβάσεις λίγο πιο προσεκτικά και να ξαναδοκιμάσεις, θα έβρισκες τη σωστή απάντηση μια και υπήρχε στην απάντηση που σου δώθηκε.

Οπότε, προσπάθησε να κάνεις κτήμα σου το εξής: Πάντα μα πάντα θα πρέπει να προσπαθείς μόνος σου για το κάθε τι. Μη βασίζεσαι στους άλλους, γιατί έτσι δε θα πας μπροστά ποτέ. Φυσικά και κανείς δε τα ξέρει όλα και όλοι μα όλοι θα χρειαστούν κάποια στιγμή να ρωτήσουν κάτι. Κι επίσης, ακόμα και ο πιο έμπειρος προγραμματιστής του κόσμου μαθαίνει καινούρια πράγματα κάθε μέρα. Το μεγαλύτερο ποσοστό όμως αυτών που έχει μάθει, το έχει κάνει μόνος του, διαβάζοντας και δοκιμάζοντας για ατελείωτες ώρες. Οπότε, την επόμενη φορά που θα έχεις κάποιο πρόβλημα, αφιέρωσε αρκετό χρόνο για να ψάξεις, να διαβάσεις και να προσπαθήσεις να το φτιάξεις μόνος σου, άσχετα που μπορεί να σου δώσει κάποιος την απάντηση σε ένα forum σε 5 λεπτά. Γιατί έτσι θα μάθεις τη σωστή διαδικασία που θα σε βοηθήσει στο μέλλον όταν δε θα υπάρχει κανείς σε ένα forum για να σε βοηθήσει.

Όλα αυτά απόλυτα φιλικά, μη πάρεις τίποτα στραβά. Επίσης, δεν είναι απαραίτητο να τα ακολουθήσεις, ούτε να συμφωνείς μαζί μου (θα προτιμούσα αν δεν απαντούσες καν για να μην ανοίξουμε άλλη μία ανούσια συζήτηση από αυτές που έχουν γίνει άπειρες φορές εδώ μέσα και σε όλα τα παρεμφερή fora).

ΥΓ: Για τη round που ρωτάς, θα σε παραπέμψω στο manual της php, με τη διαδικασία που εξήγησα πριν: Google -> "php round" -> http://php.net/manual/en/function.round.php (πρώτο αποτέλεσμα). Μάθε καλά να χρησιμοποιείς το manual της php, γιατί είναι το πιο χρήσιμο εργαλείο βοήθειας που μπορείς να βρεις για τη γλώσσα.

Άβαταρ μέλους
dimitrisdamo
Δημοσιεύσεις: 78
Εγγραφή: 19 Νοέμ 2009 20:00
Επικοινωνία:

Θεμα με ημερομηνιες

Δημοσίευση από dimitrisdamo » 19 Ιουν 2010 20:13

Ενα μεγαλο ευχαριστω θα πω και πως ισως μερικες φορες λογω της ηλικιας μου ειμαι επιπολεος .
Το manual το διαβαζω και διαβασα το λινκ
ευχαριστω και παλι

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Θεμα με ημερομηνιες

Δημοσίευση από Banavas » 20 Ιουν 2010 22:06

Σχετικά με την round:
το παρακάτω λογικά θα δώσει ακέραιο αριθμό.

Κώδικας: Επιλογή όλων

$dianikterefseis = round&#40;&#40;$departure_date - $arrival_date&#41;/86400&#41;;
εκτός αν η αρχική και η τελική ημερομηνία πέσουν σε διαφορετική ζώνη ώρας (χειμερινή - θερινή). Σ'αυτή την περίπτωση η διαίρεση δια 86400 θα δώσει δεκαδικό αριθμό. Η στρογγύλευση με την round διορθώνει αυτό το πρόβλημα.
Happy coding....
Μάρκος
http://lasernet.gr

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης