we_will_rise Δημοσ. 26 Σεπτεμβρίου 2012 Δημοσ. 26 Σεπτεμβρίου 2012 Καλημέρα, ξέρει κάποιος πως μπορώ να πάρω σε php την timezone κάποιου που βλέπει την σελίδα μου... Συγκεκριμένα έχω html & php αρχεία που συνεργάζονται και θέλω στο php αρχείο να έχω την διαφορά ώρας του client με αυτήν του server ώστε να στέλνω στον client την σωστή ώρα... Ό,τι βρήκα στο google είτε δε δουλεύει, είτε δεν εξυπηρετεί..
defacer Δημοσ. 26 Σεπτεμβρίου 2012 Δημοσ. 26 Σεπτεμβρίου 2012 Καταρχήν δεν γίνεται τέλεια με κανένα τρόπο, όπου τέλεια = τη στιγμή που ενδεχομένως γίνει αλλαγή θερινής ώρας στο timezone του χρήστη, ο server θα το ξέρει. Αλλά βασικά το θέμα είναι άλλο: η σωστή ώρα για τον client είναι εξ ορισμού αυτή που ήδη έχει ο client. Θα είχε νόημα να του στείλεις κάποια άλλη ώρα (π.χ. την τοπική στον server), αλλά αυτό που ζητάς δε φαίνεται να εξυπηρετεί σε τίποτα.
kalogeros Δημοσ. 26 Σεπτεμβρίου 2012 Δημοσ. 26 Σεπτεμβρίου 2012 Το να βρεις την ώρα του συστήματος του client με php είναι απίθανο, μιας και η php είναι server side γλώσσα. Αυτό που μπορείς να κάνεις (αλλά δεν είναι και πολύ εύκολο) είναι να βρίσκεις μέσω της IP την τοποθεσία του χρήστη, και από εκεί να υπολογίζεις την διαφορά ώρας. Και πάλι, όμως, όπως είπε και ο defacer, σε περιπτώσεις, όπως η αλλαγή της ώρας από θερινή σε χειμερινή και αντίστροφα, δεν θα έχεις σωστά αποτελέσματα.
defacer Δημοσ. 26 Σεπτεμβρίου 2012 Δημοσ. 26 Σεπτεμβρίου 2012 Βασικά μπορείς να κάνεις πολύ περισσότερα από αυτό χωρίς να πιάσεις καν την IP, π.χ. μπορείς να διαπιστώσεις (με πρακτικά μηδέν περιθώριο λάθους) το αν ο client έχει ενεργοποιημένη θερινή ώρα και επίσης σε ποιό ημισφαίριο βρίσκεται (νότιο ημισφαίριο = θερινή ώρα τον Ιανουάριο). Αν είσαι αρκετά αποφασισμένος μπορείς ακόμα και να διαπιστώσεις πότε αλλάζει η ώρα δεδομένου ότι τα settings του client δε θα πειραχτούν στο μέλλον. Αλλά δεν μπορώ να σκεφτώ, και ούτε έχω συναντήσει ποτέ, κάποιο λόγο για μπεις σ' αυτό το τριπάκι.
we_will_rise Δημοσ. 26 Σεπτεμβρίου 2012 Μέλος Δημοσ. 26 Σεπτεμβρίου 2012 Να το θέσω απλά... Έχω κάποιες datetimes αποθηκευμένες σε μια βάση δεδομένων, όλες UTC, και θέλω αυτές να μεταφράζονται σε όποιον τις βλέπει στην τοπική του ώρα... Με ποιο τρόπο θα το κάνω ;;; Ας γίνει είτε στην php (αδύνατο..) είτε στην html με κάποιο javascript, είτε αλλιώς...
defacer Δημοσ. 26 Σεπτεμβρίου 2012 Δημοσ. 26 Σεπτεμβρίου 2012 Θα ζητάς από τον χρήστη να επιλέξει το timezone στο οποίο βρίσκεται και θα κάνεις τη μετατροπή στην PHP. Αν σε ενδιαφέρει να γίνει η δουλειά 100% σωστά, αυτή είναι η μόνη λύση. Μπορείς να πάρεις μια λίστα με τις υποστηριζόμενες timezones με την DateTimeZone::listIdentifiers.
ParhsG Δημοσ. 26 Σεπτεμβρίου 2012 Δημοσ. 26 Σεπτεμβρίου 2012 Μπορεις να μαντεψεις την τοπικη ωρα και να τον βαλεις να επιλεξει , αλλη λυση δεν βλεπω . Για θερινες ωρες κτλ αν θες ακριβεια επειδη αυτα αλλαζουν ,υπάρχει στην php extension που ρουφα καθε τοσο ενημερωσεις για το αν αλλαξε κατι σε καποιο timezone κτλ.. Τελος θα μπορουσες με javascript και ajax για τζαμια να βελτιωσεις το guess με κατι τετοιο http://www.pageloom.com/automatic-timezone-detection-with-javascript . Και μη πει κανεις για disable javascript, εδω το facebook δε μπαινει καν χωρις
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα