Lanike71 Δημοσ. 2 Ιανουαρίου 2021 Δημοσ. 2 Ιανουαρίου 2021 Καλή χρονιά σε όλους, Πονοκέφαλος αυτό το πρόβλημα...Έχω μία εφαρμογή που σε κάποιους δε δουλεύει, σε εμένα δουλεύει κανονικά. Κώδικας: DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/YYYY"); LocalDate dateFrom = LocalDate.now(); LocalDate dateTo = dateFrom.plusDays(2); JTextField txtDateFrom = new JTextField(dtf.format(dateFrom)); JTextField txtDateTo = new JTextField(dtf.format(dateTo)); Δύο textfields, που σε κάθε άνοιγμα, το πρώτο έχει τη σημερινή ημερομηνία και το δεύτερο +2 ημέρες. Το παράδοξο: Το πρώτο εμφανίζει ημέρα και μήνα σωστά, αλλά έτος 2020 (!!!!) ενώ το δεύτερο εμφανίζει κανονικά, δηλ. + 2 ημέρες από την σημερινή... Έψαξα παντού στο stack αλλά δε βρήκα άκρη...Το περίεργο είναι ότι σε μένα δουλεύει κανονικά, ενώ σε άλλους όχι.
Επισκέπτης Δημοσ. 2 Ιανουαρίου 2021 Δημοσ. 2 Ιανουαρίου 2021 Ποιο JRE έχεις εσύ που παίζει κανονικά και ποιο στους άλλους που δεν παίζει; Μήπως ξέμεινε κανείς στην Java 7;
filip123go Δημοσ. 2 Ιανουαρίου 2021 Δημοσ. 2 Ιανουαρίου 2021 Το να δουλεύεις με Dates στην java είναι από τα χειρότερα τασκ ever. (Έκανα πρόσφατα ένα φουλ διαχειριστικό για κρατήσεις δωματίων και μου βγηκε η πίστη με τα dates). Αν βγάλεις το pattern και αφήσεις το default,πάλι το ίδιο σου κάνει; Είχα παρόμοιο πρόβλημα με την μετατροπή σε milliseconds. Δεν μου έβαζε τα 2 τελευταία ψηφία στη μετατροπή για κάποιο λόγο. Στο epoch converter όμως, τα έβαζε κανονικά. Και άλλο date έπαιρνα στο πρόγραμμα , και άλλο στον converter. Να τρελαίνεσαι...
tsofras Δημοσ. 2 Ιανουαρίου 2021 Δημοσ. 2 Ιανουαρίου 2021 (επεξεργασμένο) 50 λεπτά πριν, Lanike71 είπε Καλή χρονιά σε όλους, Πονοκέφαλος αυτό το πρόβλημα...Έχω μία εφαρμογή που σε κάποιους δε δουλεύει, σε εμένα δουλεύει κανονικά. Κώδικας: DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/YYYY"); LocalDate dateFrom = LocalDate.now(); LocalDate dateTo = dateFrom.plusDays(2); JTextField txtDateFrom = new JTextField(dtf.format(dateFrom)); JTextField txtDateTo = new JTextField(dtf.format(dateTo)); Δύο textfields, που σε κάθε άνοιγμα, το πρώτο έχει τη σημερινή ημερομηνία και το δεύτερο +2 ημέρες. Το παράδοξο: Το πρώτο εμφανίζει ημέρα και μήνα σωστά, αλλά έτος 2020 (!!!!) ενώ το δεύτερο εμφανίζει κανονικά, δηλ. + 2 ημέρες από την σημερινή... Έψαξα παντού στο stack αλλά δε βρήκα άκρη...Το περίεργο είναι ότι σε μένα δουλεύει κανονικά, ενώ σε άλλους όχι. To LocalDate.now() παίρνει την ώρα απο το ρολόι του συστήματος και το Timezone , μία χαρά δείχνει ο κώδικας , το έτρεξα και εγώ και δεν έχει κάποιο θέμα. Αυτοί που λές ότι έχουν πρόβλημα που το τρέχουν? Μήπως σε κανα PC / Server που για κάποιο λόγο έχει μείνει η ημερομηνία στο σύστημα το 2020 ? ή έχουν κάποιο timezone διαφορετικό ? (που μέχρι εχθές θα μπορούσα να καταλάβω να μην έχει αλλάξει η χρονιά , σήμερα έχουμε 2 του μήνα οπότε δεν στέκει) Επεξ/σία 2 Ιανουαρίου 2021 από tsofras
Lanike71 Δημοσ. 3 Ιανουαρίου 2021 Μέλος Δημοσ. 3 Ιανουαρίου 2021 Όχι, δεν έχουν σέρβερ, win10 και win7 τρέχουν, με java ενημερωμένη. Το περίεργο είναι ότι επί 9 μήνες έπαιζε και μόλις άλλαξε η χρονιά τα έπαιξε...
marios28 Δημοσ. 3 Ιανουαρίου 2021 Δημοσ. 3 Ιανουαρίου 2021 20 λεπτά πριν, Lanike71 είπε Όχι, δεν έχουν σέρβερ, win10 και win7 τρέχουν, με java ενημερωμένη. Το περίεργο είναι ότι επί 9 μήνες έπαιζε και μόλις άλλαξε η χρονιά τα έπαιξε... Δεν είναι περίεργο. Σε λίγο θα παίζει πάλι. java - Difference between year-of-era and week-based-year? - Stack Overflow Άλλαξε το YYYY σε yyyy στην παρακάτω εντολή (όπως το βλέπεις παρακάτω:) DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy"); 2
tsofras Δημοσ. 3 Ιανουαρίου 2021 Δημοσ. 3 Ιανουαρίου 2021 44 λεπτά πριν, marios28 είπε Δεν είναι περίεργο. Σε λίγο θα παίζει πάλι. java - Difference between year-of-era and week-based-year? - Stack Overflow Άλλαξε το YYYY σε yyyy στην παρακάτω εντολή (όπως το βλέπεις παρακάτω:) DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy"); Ωραίος , βέβαια το παραπάνω δεν λύνει την απορία γιατί σε άλλους παίζει και σε άλλους όχι :S Εγώ το δοκίμασα τοπικά και σε online java compiler και έδειξε σωστά και στα 2
Lanike71 Δημοσ. 3 Ιανουαρίου 2021 Μέλος Δημοσ. 3 Ιανουαρίου 2021 θα το δοκιμάσω και θα σου πω @marios28. Από αυτά που διάβασα στο stack, μάλλον είναι η λύση. Ευχαριστώ. ΥΓ. Ίσως είναι η μοναδική φορά σε κώδικα, που μπορεί να ισχύει το "κάνε υπομονή λίγες μέρες και πού θα πάει, θα παίξει". Χαχαχα...
marios28 Δημοσ. 3 Ιανουαρίου 2021 Δημοσ. 3 Ιανουαρίου 2021 (επεξεργασμένο) 1 ώρα πριν, tsofras είπε Ωραίος , βέβαια το παραπάνω δεν λύνει την απορία γιατί σε άλλους παίζει και σε άλλους όχι :S Εγώ το δοκίμασα τοπικά και σε online java compiler και έδειξε σωστά και στα 2 Πιθανόν ισχύει αυτό που γράφει ο άνθρωπος στο τελευταίο σχόλιο της πρώτης απάντησης του παρακάτω link: java - Wrong year in time conversion for final day of the year - Stack Overflow "... In the ISO week scheme used in many countries Monday is the first day of the week, so the week year of that Sunday will be 2017, that is, correct in this case. " ίσως έχει να κάνει και με το region (τι έχει δηλώσει ο χρήστης στις ρυθμίσεις) στον κάθε υπολογιστή. 1 ώρα πριν, Lanike71 είπε θα το δοκιμάσω και θα σου πω @marios28. Από αυτά που διάβασα στο stack, μάλλον είναι η λύση. Ευχαριστώ. ΥΓ. Ίσως είναι η μοναδική φορά σε κώδικα, που μπορεί να ισχύει το "κάνε υπομονή λίγες μέρες και πού θα πάει, θα παίξει". Χαχαχα... χαχα Ναι. Όταν σου έγραφα σε λίγο θα παίζει πάλι είχα πέσει κάτω. Δοκίμασέ το, λογικά αυτό είναι το πρόβλημα. Επεξ/σία 3 Ιανουαρίου 2021 από marios28
Papakaliati Δημοσ. 4 Ιανουαρίου 2021 Δημοσ. 4 Ιανουαρίου 2021 Στις 2/1/2021 στις 1:22 ΜΜ, filip123go είπε Το να δουλεύεις με Dates στην java είναι από τα χειρότερα τασκ ever. (Έκανα πρόσφατα ένα φουλ διαχειριστικό για κρατήσεις δωματίων και μου βγηκε η πίστη με τα dates). Αν βγάλεις το pattern και αφήσεις το default,πάλι το ίδιο σου κάνει; Είχα παρόμοιο πρόβλημα με την μετατροπή σε milliseconds. Δεν μου έβαζε τα 2 τελευταία ψηφία στη μετατροπή για κάποιο λόγο. Στο epoch converter όμως, τα έβαζε κανονικά. Και άλλο date έπαιρνα στο πρόγραμμα , και άλλο στον converter. Να τρελαίνεσαι... Το να δουλεύεις με dates σιγουρα δεν ειναι και οτι πιο ευχαρισμο, αλλα γινεται αρκετα χειροτερο οταν εχεις να παιξεις με διαφορετικά timezones.... 1
papmel Δημοσ. 5 Ιανουαρίου 2021 Δημοσ. 5 Ιανουαρίου 2021 Στις 3/1/2021 στις 4:50 ΜΜ, tsofras είπε Ωραίος , βέβαια το παραπάνω δεν λύνει την απορία γιατί σε άλλους παίζει και σε άλλους όχι :S Εγώ το δοκίμασα τοπικά και σε online java compiler και έδειξε σωστά και στα 2 Εχει να κανει με τα Regional Settings του Καθε Υπολογιστη. Και για να μην μπλεκουμε με αυτα παντα χρησιμοποιουμε Unix DateTime format σε ολες τις πραξεις. το τι δειχνουμε στο GUI ειναι αλλο θεμα εκει κανουμε formatting.
tsofras Δημοσ. 5 Ιανουαρίου 2021 Δημοσ. 5 Ιανουαρίου 2021 2 λεπτά πριν, papmel είπε Εχει να κανει με τα Regional Settings του Καθε Υπολογιστη. Και για να μην μπλεκουμε με αυτα παντα χρησιμοποιουμε Unix DateTime format σε ολες τις πραξεις. το τι δειχνουμε στο GUI ειναι αλλο θεμα εκει κανουμε formatting. Ναι το φαντάστηκα αυτό ήταν και το πρώτο που ρώτησα αλλά τι διαφορά να έχουν οι υπόλοιποι άραγε που να έχουν διαφορετικό week day
papmel Δημοσ. 5 Ιανουαρίου 2021 Δημοσ. 5 Ιανουαρίου 2021 Μόλις τώρα, tsofras είπε Ναι το φαντάστηκα αυτό ήταν και το πρώτο που ρώτησα αλλά τι διαφορά να έχουν οι υπόλοιποι άραγε που να έχουν διαφορετικό week day Πρεπει να κανεις detect τα regional Settings και θα σου δειξει την διαφορα δεν ξερω java πως γινετε αλλα στην pascal σε καθε εφαρμογη οριζεις εσυ τα decimal αν ειναι τελεια η κομα και το πως θες να εμφανιζετε η ωρα η ημερομηνια αν δηλαδη πες να κανεις Convert το 2020-01-31 00:00:00 μπορει να παρεις Error γιατι αν δεν εχεις ορισει εσυ τι να ψαχνει θα το θέλει σαν default δηλαδη 31/01/2020 00:00 ή και ακομα 01/31/2020 αν εχεις usa regional settigns.
marios28 Δημοσ. 5 Ιανουαρίου 2021 Δημοσ. 5 Ιανουαρίου 2021 (επεξεργασμένο) 17 λεπτά πριν, tsofras είπε Ναι το φαντάστηκα αυτό ήταν και το πρώτο που ρώτησα αλλά τι διαφορά να έχουν οι υπόλοιποι άραγε που να έχουν διαφορετικό week day Όχι timezone, αλλά διαφορετικό region-country. Μπορεί να έχουν ίδιο timezone (π.χ. Αθήνα), αλλά διαφορετική ρύθμιση επιλογής στη χώρα ή διαφορετικό regional format. π.χ. Ο ένας υπολογιστής να έχει ρύθμιση χώρα Aμερική και ο δεύτερος Ελλάδα με ίδιο timezone. Οπότε η συγκεκριμένη (week day) θα είναι διαφορετική, λόγω διαφορετικής χώρας. π.χ. όπως ακριβώς συμβαίνει και με τη θέση μήνα/ημέρας στη γραφή της ημερομηνίας. Επεξ/σία 5 Ιανουαρίου 2021 από marios28 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα