私はandroid + SQLiteとDatePicker Widgetを使用しています。Android DatePicker SQLiteを使用しているときの "0"の問題
DatePickerは、SQLiteの挿入コマンドで正しくフォーマットされません。つまり、選択した日付の月または日が10未満の場合は、0が挿入されません。たとえば、「2010年1月1日」の日付を選択した場合、月と日付の形式は1と1になります。これは通常のSQL形式のYYYY-MM-DDと衝突します。
私は、彼らが文字列にそれらをキャストし、次の操作を行って、Oさんを前に付けることで10以下であるとき、整数に0を連結してみました:
// the callback received when the user "sets" the date in the dialog
private DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
if(monthOfYear < 10)
{
String mm = Integer.toString(monthOfYear);
String m = "0" + mm;
mMonth = Integer.parseInt(m);
}
else{mMonth = monthOfYear;}
if (dayOfMonth <10)
{
String dd = Integer.toString(dayOfMonth);
String d = "0" + dd;
dayOfMonth = Integer.parseInt(d);
}
else{mDay = dayOfMonth;}
mYear = year;
updateDisplay();
}
};
// updates the date in the TextView
private void updateDisplay() {
mDateDisplay.setText(
new StringBuilder()
// Month is 0 based so add 1
.append(mYear).append("-")
.append(mMonth + 1).append("-")
.append(mDay).append("")
);
selecteddate = (String) mDateDisplay.getText();
}
私はこれがに2010年1月1日を変換するために期待していました2010-01-01。しかし、それはdoesntです。誰もがこれを行うための簡単な方法を持っているので、私はsqliteテーブルに送信する前に、正しい形式に日付を取得することができますか?
ありがとうございます。
こんにちはチャーリー、このソリューションは実際には上の良い仲間によって投稿されたものよりよく見えます。私はこのコードを勉強するつもりです、ちょっと分かります。私はちょうどあなたがC#から来ている自分自身のようなエントリレベルのJavaコーダのためにお勧めしたいと思っているのですか?事前にありがとう、私はあなたに私に良い指導を提供できることを願っています! – brux
ねえ、brux。長期的には、少なくともタイムスタンプのアプローチは、前後に3つの演算子とすべてのジャズをフォーマットするよりも簡単に作業できると思います。私は「Android in Practice」(いくつかのスマートな共同作家)と仕事をしています。これはManningのサイトで早期に利用可能で、かなり良いと思いますしかしそれは初期のものであり、それは実際には紹介されていない)。私は、市場が実際にはJavaとAndroidの書籍から始まる良いものを見逃していると思うが、一般的なAndroidの本の場合、Mark MurphyのCommonsWareのものは素晴らしい。 –
入力コリンのおかげで、私は2つのboks(私は現在読んでsamsは24時間でJavaを学ぶ)うまくいけば、私はあなたがあなたの新しい仕事をリリースした時間を終えたときにそれを取る準備ができている!ありがとう – brux