0

私のプログラムで更新するときに、ユーザーがデータピッカーを使用してeditTextボックス(日付用と時間用)に日付を再入力しない場合、更新は古い日付ではなく現在の日付をデータベースに挿入します。昔を守るにはどうすればいいですか?これが私が日付と時刻を入力するために使用したコードですintintthe db into

            newTime.year = dateAndTime.get(Calendar.YEAR);
    newTime.month = dateAndTime.get(Calendar.MONTH);
    newTime.monthDay = dateAndTime.get(Calendar.DAY_OF_MONTH);
    newTime.hour = dateAndTime.get(Calendar.HOUR_OF_DAY);
    newTime.minute = dateAndTime.get(Calendar.MINUTE);

    enteredTime = (int) ((newTime).toMillis(true) / 1000);

editTextがクリックされた日時を設定するためのコードは次のとおりです

public void date(View v) {
    int inType = date.getInputType(); // backup the input type
    date.setInputType(InputType.TYPE_NULL); // disable soft input
    date.setInputType(inType);
    new DatePickerDialog(report.this, d, dateAndTime.get(Calendar.YEAR),
            dateAndTime.get(Calendar.MONTH),
            dateAndTime.get(Calendar.DAY_OF_MONTH)).show();

}

public void time(View v) {
    int inType = time.getInputType(); // backup the input type
    time.setInputType(InputType.TYPE_NULL); // disable soft input
    time.setInputType(inType);

    new TimePickerDialog(report.this, t,
            dateAndTime.get(Calendar.HOUR_OF_DAY),
            dateAndTime.get(Calendar.MINUTE), true).show();

}

private void updateLabel() {
    date.setText(fmtDate.format(dateAndTime.getTime()));
}

private void updateLabel1() {
    time.setText(fmtTime.format(dateAndTime.getTime()));
}

DatePickerDialog.OnDateSetListener d = new DatePickerDialog.OnDateSetListener() {
    public void onDateSet(DatePicker view, int year, int monthOfYear,
            int dayOfMonth) {
        dateAndTime.set(Calendar.YEAR, year);
        dateAndTime.set(Calendar.MONTH, monthOfYear);
        dateAndTime.set(Calendar.DAY_OF_MONTH, dayOfMonth);

        updateLabel();
    }
};

TimePickerDialog.OnTimeSetListener t = new TimePickerDialog.OnTimeSetListener() {
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        dateAndTime.set(Calendar.HOUR_OF_DAY, hourOfDay);
        dateAndTime.set(Calendar.MINUTE, minute);

        updateLabel1();
    }
};
4

1 に答える 1

0

あなたの質問を完全に理解しているかどうかはわかりませんが、1つの可能性は、テキストボックスを標準にしたいものに設定することです。ミリ秒単位の時間 (dateMillis) がある場合は、次のようにカレンダーを作成できます。

        Date d = new Date(dateMillis);
    Calendar c = Calendar.getInstance();
    c.setTime(d);

または dateformatter を使用して、必要な形式を取得します。

        Date d = new Date(dateMillis);
    SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yy");
    String date = formatter.format(d);
于 2012-04-09T19:01:09.947 に答える