2011-06-16 40 views
1

我有一個應用程序使用datepicker和timepicker來更新使用時間戳類型的mysql數據庫。要更新時間戳,我需要使用14位數字字符串,如「20110616123400」一年一個月的日子小時分鐘秒。所以當我打電話給DatePicker.getMonth()時,它將返回6而不是06.當月或日或小於10時,是否有任何填充0的功能?DatePicker-TimePicker到一個MySQL時間戳

.getMonth()回報1,2,... 11,12,我想回到01,02,02 ... 11,12

+0

的android是否有String.slice方法?讓我知道 – 2011-06-16 09:56:31

回答

4

嘗試使用的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(); 

你也可以做到這一點,像這樣:

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

謝謝你。我真的是新的Java和忽略一些真正的基本問題 – George32x 2011-06-16 10:12:32

0

這裏已經解決了類似的問題,也許不是你分別爲:L但是在我看來,這將是正確的做法。

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

您可以直接使用下面的MySQL查詢。 (concat_ws('','00',6),2);選擇正確的(concat_ws('','00',6),2);返回06

0

使用

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