Παίζοντας με ημερομηνίες mktime - date - time functions

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

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

Απάντηση
Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27620
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Παίζοντας με ημερομηνίες mktime - date - time functions

Δημοσίευση από cordis » 13 Φεβ 2009 22:32

Για να βρούμε το τώρα:

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

$now = time(); 
για να το εμφανίσουμε σε ανθρωπινη μορφή:

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

echo date("M d, Y H:i:s",$now);
για να έχουμε την αρχή και το τέλος της ημέρας που διανύουμε:

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

	 $tfrom = mktime(0,0,0,date('m'), date('d'), date('Y'));
	 $tto = mktime(23,59,59,date('m'), date('d'), date('Y'));

	 echo "σήμερα " . date("M d, Y H:i:s",$tfrom) . ' - ' . date("M d, Y H:i:s",$tto);
για να έχουμε την χθεσινή ημέρα:

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

		 $tfrom = mktime(0,0,0,date("m",time()-60*60*24*1), date("d",time()-60*60*24*1), date("Y",time()-60*60*24*1));
	 $tto = mktime(23,59,59,date("m",time()-60*60*24*1), date("d",time()-60*60*24*1), date("Y",time()-60*60*24*1));

	 echo "χθές " . date("M d, Y H:i:s",$tfrom) . ' - ' . date("M d, Y H:i:s",$tto);
για να έχουμε την προηγούμενη εβδομάδα:

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

	 $dow = date("w",time()-60*60*24*7);
	 $offset = ($dow -1);
	 if &#40;$offset <0&#41; &#123;
		$offset = 6;
	 &#125;
	 $tfrom = mktime&#40;0,0,0,date&#40;"m",time&#40;&#41;-60*60*24*7&#41;, date&#40;"d",time&#40;&#41;-60*60*24*7&#41;-$offset, date&#40;"Y",time&#40;&#41;-60*60*24*7&#41;&#41;;
	 $dow = date&#40;"w",time&#40;&#41;-60*60*24*7&#41;;
	 $offset = &#40;7 - $dow&#41;;
	 if &#40;$offset >7&#41; &#123;
		$offset = 0;
	 &#125;
	 $tto = mktime&#40;23,59,59,date&#40;"m",time&#40;&#41;-60*60*24*7&#41;, date&#40;"d",time&#40;&#41;-60*60*24*7&#41;+$offset, date&#40;"Y",time&#40;&#41;-60*60*24*7&#41;&#41;;
	 echo "την προηγούμενη εβδομάδα Δ-Κ " . date&#40;"M d, Y H&#58;i&#58;s",$tfrom&#41; . ' - ' . date&#40;"M d, Y H&#58;i&#58;s",$tto&#41;;

για να έχουμε την τρέχουσα εβδομάδα έως τώρα:

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

	 $dow = date&#40;"w"&#41;;
	 $offset = &#40;$dow -1&#41;;
	 if &#40;$offset <0&#41; &#123;
		$offset = 6;
	 &#125;
	 $tfrom = mktime&#40;0,0,0,date&#40;'m'&#41;, date&#40;'d'&#41;-$offset, date&#40;'Y'&#41;&#41;;
	 $tto = time&#40;&#41;;
	 echo "αυτή την εβδομάδα Δ-σήμερα " . date&#40;"M d, Y H&#58;i&#58;s",$tfrom&#41; . ' - ' . date&#40;"M d, Y H&#58;i&#58;s",$tto&#41;;
	 break;
σχετικά με το offset:
γνωρίζουμε ότι η Δευτέρα είναι το 1 και η Κυριακή είναι το 0 οπότε βρίσκοντας τον αριθμό της ημέρας που είμαστε με το ate("w",time()) γνωρίζουμε πόσες μέρες μπροστά είναι η Κυριακή και πόσες ημέρες πίσω είναι η Δευτέρα, οπότε κάνουμε και τις ανάλογες πράξεις στην ημέρα μας.

έγινε χρήση των:
http://gr.php.net/manual/en/function.date.php
http://gr.php.net/manual/en/function.time.php
http://gr.php.net/manual/en/function.mktime.php
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Παίζοντας με ημερομηνίες mktime - date - time functions

Δημοσίευση από vassilism » 01 Ιουν 2009 14:27

Να προσθέσω ότι όλα τα παραπάνω θα εμφανίσουν την ημερομηνία και ώρα της περιοχής που βρίσκεται ο server. Δηλαδή αν ο server βρίσκεται στην Αμερική τότε θα δείχνει την ημερομηνία και την ώρα που είναι εκείνη την στιγμή στην Αμερική.

Αν θέλουμε να παίρνουμε την ώρα της Ελλάδας ανεξάρτητα της περιοχής που βρίσκετε ο server τότε μπορούμε να χρησιμοποιήσουμε την συνάρτηση date_default_timezone_set.

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

date_default_timezone_set&#40;'EET'&#41;; 
Με το παραπάνω παίρνουμε την ώρα που αντιστοιχεί στην Ελλάδα.
Αν θέλουμε την ώρα κάποιας άλλης χώρας τότε αλλάζουμε το EET με την ζώνη ώρας που αντιστοιχεί στην χώρα που θέλουμε.

Απάντηση

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

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

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