Έφαγα το χρόνο μου με το χρόνο

Post Photo
Δευτέρα 11 Μαρτίου 2019

Άρθρο για συναδέλφους προγραμματιστές. Μου πήρε ένα Σαββατοκύριακο για να φτιάξω ένα datepicker και να μανατζάρω το χρόνο στο σύστημα. Πράγμα εξαιρετικά δύσκολο διότι στο παρόν σύστημα εμπλέκονται τρεις ζώνες ώρας!

Έφτιαξα το δικό μου Datepicker. Φαίνεται στην εικόνα παρακάτω.

Το πρόβλημα και ο στόχος

Ήθελα η αλλαγή της ημερομηνίας δημοσίευσης να γίνεται με ελάχιστα κλικ, να μην είναι popup και να μην χρειάζεται τεράστια αρχεία JS.

Ήθελα να εμφανίζεται και να λειτουργεί με τον ίδιο εντελώς τρόπο σε υπολογιστές desktop και φορητές συσκευές. Ήθελα να έχει τη μεγαλύτερη δυνατή συμβατότητα με περιηγητές. Αυτό είναι και το μεγάλο πρόβλημα χρησιμοποιώντας JS. Δεν γνωρίζεις ποιον και πόσο παλιό περιηγητή χρησιμοποιεί η επισκέπτης. Σε αντίθεση με PHP το οποίο ρεντάρει ο Server που γνωρίζεις πολύ καλά ποιος είναι. Ναι, γνωρίζω ότι μπορείς να ρεντάρεις JS και στο Server αλλά προς το παρόν δεν το χρησιμοποιώ.

Το έφτιαξα

Δεν μοιάζει με τίποτα που βρήκα στην αγορά. Φυσικά γράφοντας έναν Datepicker από το μηδέν είναι χρονοβόρο. Για την ακρίβεια είναι Datetimepicker.

Μετά οργάνωσα το χρόνο στο σύστημα. Άλλο χρόνο έχει παραδόξως η βάση δεδομένων, άλλη βλέπεις με PHP και φυσικά με JS έχεις τη ζώνη ώρας του χρήστη.

Γιατί όλα αυτά

Για το μηχανισμό αυτόματων δημοσιεύσεων. Μπορώ πλέον να γράφω άρθρα στο παρελθόν, παρόν και μέλλον. Όταν θα βλέπετε νέα δημοσίευση αυτό δεν σημαίνει ότι την έγραψα εκείνη τη στιγμή. Μπορώ να ποστάρω στο 2025 αν θέλω (!). Μα θα μου πείτε αυτό το κάνει και το Wordpress.

Όχι ακριβώς όπως το δικό μου σύστημα. Στο δικό μου καθορίζω και ζώνη ώρας δημοσίευσης. Εδώ γίνονται πολύπλοκα τα πράγματα. Οι διακομιστές μου βρίσκονται Καναδά με μια διαφορά ώρας -5 με τη ζώνη στην οποία βρίσκομαι. Θα τα εξηγήσω όλα σε επόμενο βιντεάκι για όσους ενδιαφέρονται.

Ψηλά το κεφάλι και καλή βδομάδα φίλοι μου.

(Το ανέβασα για όποιον το θέλει εδώ: https://jsfiddle.net/tomsnews/1mdfkb8c/. Δημιούργησα και μια σελίδα https://tomsnews.io/code για να υπάρχουν όλα τα προτζεκτάκια μαζεμένα.)

Κοινοποίησε το άρθρο

Στήριξε μια από τις λιγοστές οάσεις ελεύθερης γραφής κοινοποιώντας το άρθρο. Έτσι στηρίζεις τη σελίδα ώστε αύριο να μπορεί να στηρίξει και σένα.