Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Γειά σας παιδιά. Έχω ξεκινήσει ένα project για σχολή όπου μια εφαρμογή android συνδέεται σε μια βάση δεδομένων και ανταλλάσσει δεδομένα με αυτήν. Μέχρι εδώ οκ. Με πολλά tutorials το βρήκα. Αυτό που δεν μπορώ να βρω είναι ένα χαζό bug. Χρησιμοποιώ μια βασική οθόνη, όπου οι καινούριοι χρήστες γράφονται στο σύστημα, και ένα datePicker widget για να γράφεται η ημερομηνία γέννησης. Με τον ακόλουθο κώδικα παίρνω την ημερομηνία από το widget και προσπαθώ να την κάνω σε format το οποίο να δουλεύει στο mySQL.

>
//Diavazoume tin imerominia apo to Widget.
 DatePicker dp=(DatePicker)findViewById(R.id.SelectDate);
 int day,month,year;
 day=dp.getDayOfMonth();
 month=dp.getMonth();
 year=dp.getYear();
 Date now=new Date(year,month,day);
 //Xrisimopoioume ton formatter gia na to metatrepsoume se Date pou diavazetai apo to mySQL
 String mySQLdateFormat="yyyy-MM-dd";
 SimpleDateFormat formatter=new SimpleDateFormat(mySQLdateFormat);
 String mySQLformatted=formatter.format(now);

Το bug μου είναι πως όταν ολοκληρωθεί η εφαρμογή και τσεκάρω τα δεδομένα που περάστηκαν στην βάση, η χρονολογία είναι πάντα +1900 χρόνια. (το 1985 μου το βγάζει 3885 :-( ). Φαντάζομαι πως το λάθος θα βρίσκεται κάπου στον formatter αλλά δεν καταλαβαίνω ποιο είναι. Καμιά ιδέα;

Δημοσ.

[..]

Το bug μου είναι πως όταν ολοκληρωθεί η εφαρμογή και τσεκάρω τα δεδομένα που περάστηκαν στην βάση, η χρονολογία είναι πάντα +1900 χρόνια. (το 1985 μου το βγάζει 3885 :-( ). Φαντάζομαι πως το λάθος θα βρίσκεται κάπου στον formatter αλλά δεν καταλαβαίνω ποιο είναι. Καμιά ιδέα;

 

Το Date δέχεται το έτος με βάση το 1900 συνεπώς θα πρέπει να αφαιρέσεις το τρέχον έτος από αυτό:

 

>
String mySQLformatted = formatter.format(new Date(year - 1900, monthOfYear, dayOfMonth));

 

Για περισσότερες λεπτομέρειες σχετικά με την Date δες εδώ.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...