Υπολογισμός με ημερομηνίες

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

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

Απάντηση
evp_s
Δημοσιεύσεις: 6
Εγγραφή: 13 Απρ 2011 16:27

Υπολογισμός με ημερομηνίες

Δημοσίευση από evp_s » 14 Απρ 2011 16:23

Γεια σας,

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

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Υπολογισμός με ημερομηνίες

Δημοσίευση από dva_dev » 14 Απρ 2011 16:44

...να υπολογίσω το διάστημα μεταξύ των δύο ημερομηνιών...
Σε τι θέλεις να το υπολογίσεις;
Σε χιλιετηρίδες;
Σε χρόνια;
Σε ώρες;
Σε ημέρες, μήνες, έτη;

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Υπολογισμός με ημερομηνίες

Δημοσίευση από mrpc » 14 Απρ 2011 16:53

Και σε τι μορφή έχεις καταχωρήσει τις ημερομηνίες;
Ένας πολύ απλός και γρήγορος τρόπος είναι να μετατρέψεις τις ημερομηνίες σε unix timestamp, και μετά να αφαιρέσεις τη μια από την άλλη.
Το αποτέλεσμα είναι η διαφορά σε δευτερόλεπτα.

evp_s
Δημοσιεύσεις: 6
Εγγραφή: 13 Απρ 2011 16:27

Υπολογισμός με ημερομηνίες

Δημοσίευση από evp_s » 14 Απρ 2011 16:59

mrpc έγραψε:Και σε τι μορφή έχεις καταχωρήσει τις ημερομηνίες;
Ένας πολύ απλός και γρήγορος τρόπος είναι να μετατρέψεις τις ημερομηνίες σε unix timestamp, και μετά να αφαιρέσεις τη μια από την άλλη.
Το αποτέλεσμα είναι η διαφορά σε δευτερόλεπτα.
Στη φόρμα οι ημερομηνίες καταχωρούνται σε μορφή dd-mm-yyyy (χρησιμοποιώ κάποιο ημερολόγιο) και μετά στη καταχώρηση της βάσης τη μετατρέπω σε yyyy-mm-dd για να μπορέσει να τη δεχτεί στη βάση.

evp_s
Δημοσιεύσεις: 6
Εγγραφή: 13 Απρ 2011 16:27

Υπολογισμός με ημερομηνίες

Δημοσίευση από evp_s » 14 Απρ 2011 17:01

dva_dev έγραψε:
...να υπολογίσω το διάστημα μεταξύ των δύο ημερομηνιών...
Σε τι θέλεις να το υπολογίσεις;
Σε χιλιετηρίδες;
Σε χρόνια;
Σε ώρες;
Σε ημέρες, μήνες, έτη;
Σε ημέρες

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Υπολογισμός με ημερομηνίες

Δημοσίευση από dva_dev » 14 Απρ 2011 17:56

Δοκίμασε κάτι τέτοιο (σύμφωνα με αυτά που είπε ο mrpc):

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

$date1 = "2001-02-03";
$date2 = "2007-08-09";
$diff = abs(strtotime($date2) - strtotime($date1));
$days = floor($diff / (60*60*24));

evp_s
Δημοσιεύσεις: 6
Εγγραφή: 13 Απρ 2011 16:27

Υπολογισμός με ημερομηνίες

Δημοσίευση από evp_s » 15 Απρ 2011 01:34

evp_s έγραψε:
mrpc έγραψε:Και σε τι μορφή έχεις καταχωρήσει τις ημερομηνίες;
Ένας πολύ απλός και γρήγορος τρόπος είναι να μετατρέψεις τις ημερομηνίες σε unix timestamp, και μετά να αφαιρέσεις τη μια από την άλλη.
Το αποτέλεσμα είναι η διαφορά σε δευτερόλεπτα.
Στη φόρμα οι ημερομηνίες καταχωρούνται σε μορφή dd-mm-yyyy (χρησιμοποιώ κάποιο ημερολόγιο) και μετά στη καταχώρηση της βάσης τη μετατρέπω σε yyyy-mm-dd για να μπορέσει να τη δεχτεί στη βάση.
Και πως μετατρέπω τις ημερομηνίες σε unix timestamp; Μπορεί να είναι χαζή η ερώτηση μου αλλά τώρα κάνω τα πρώτα βήματα...


evp_s
Δημοσιεύσεις: 6
Εγγραφή: 13 Απρ 2011 16:27

Υπολογισμός με ημερομηνίες

Δημοσίευση από evp_s » 16 Απρ 2011 01:20

Ευχαριστώ πολύ, το κατάφερα!!!! :kaloe:
Με το εξής:

$new1 = date("d-m-Y",strtotime($date_apolysis));
$new2 = date("d-m-Y",strtotime($date_analipsis));
$diff = abs(strtotime($date_apolysis) - strtotime($date_analipsis));
$days = floor($diff / (60*60*24));

Να ρωτήσω κάτι ακόμη, αν θέλω έτος, μήνα, μέρες, τις μέρες που βρήκα τις διαιρώ με 365 και ανάλογα με το υπόλοιπο προχωράω για να βρω μήνες, μέρες; Αν υπάρχει δίσεκτο έτος τι γίνεται; Μπερδεύεται λίγο το θέμα ή νομίζω;

Απάντηση

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

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

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