2011-06-16 4 views
1

J'ai une application qui utilise une datepicker et un timepicker pour mettre à jour une base de données mysql qui utilise un timestamp type.Pour mettre à jour l'horodatage, j'ai besoin d'utiliser une chaîne de 14 chiffres comme "20110616123400" pour la année mois jour heures minutes secondes. Donc quand j'appelle DatePicker.getMonth() il retournera 6 au lieu de 06. Y at-il une fonction qui remplit 0 quand le mois ou le jour ou l'heure est inférieur à 10?DatePicker-TimePicker à un horodatage mysql

.getMonth() retours 1,2, ... 11,12 et je veux revenir 01,02,02 ... 11,12

+0

N'android ont méthode String.slice? Faites-moi savoir –

Répondre

4

Essayez d'utiliser le SimpleDateFormat:

SimpleDateFormat f = new SimpleDateFormat("yyyyMMddHHmmss"); 

int mYear = ... 
int mMonth = DatePicker.getMonth(); 
// ... others too... 

final Calendar c = Calendar.getInstance(); 
c.set(mYear, mMonth, mDay, mHour, mMinute); 

String yourTimestamp = f.format(c.getTime(); 

vous pouvez aussi le faire comme ceci:

int mMonth = DatePicker.getMonth(); 
String mMonthStr = (mMonth>9) ? String.valueOf(mMonth) : "0"+mMonth; 
+0

merci.Je suis vraiment nouveau en Java et ignorer certains problèmes vraiment fondamentaux – George32x

0

est ici un problème similaire résolu déjà, peut-être pas ce que vous étiez l Je cherche mais il me semble que ce serait la bonne façon de le faire.

Convert 1 to 01

-1
long start = System.nanoTime(); 
for(int i=0;i<100000;i++) { 
    for(int num=1;num<100;num++) { 
     String text = (num < 10 ? "0" : ""); 
    } 
} 
long time = System.nanoTime() - start; 
System.out.println(time/99/100000); 
0

Vous pouvez utiliser directement requête suivante dans MYSQL.

sélectionner à droite (concat_ws ('', '00', 6), 2); qui retourne 06

0

utilisation

String.format("%02d", num) 
Questions connexes