-4
앱을 개발 중입니다. 여기에 날짜 및 시간 선택기를 사용하고 싶습니다. 날짜와 시간을 선택하려면 선택 시간보다 6 시간 전에 결과 시간을 설정하고 싶습니다. 선택 시간 6 시간 전에 시간을 적절한 날짜로 설정하려면 어떻게합니까? 예 : "30sep"라고 가정하고 시간이 "1:00 am"이라고 가정하면 날짜와 시간은 "29sep"와 "7:00 pm"이됩니다. 어떻게해야합니까? 당신이 7시간를 제거하고 당신이 그것을 오전 1시 있다면, 당신은 전날에 가야한다 (요일을 변경하지 않는 코드에서날짜와 시간을 선택하는 방법 6 시간 전에 날짜와 시간을 설정하는 방법은 무엇입니까?
@Override
public void onClick(View v) {
if (v == pdate) {
// Get Current Date
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
eddate.setText(dayOfMonth + "-" + (monthOfYear + 1) + "-" + year);
}
}, mYear, mMonth, mDay);
datePickerDialog.show();
}
if (v == ptime) {
// Get Current Time
final Calendar c = Calendar.getInstance();
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
// Launch Time Picker Dialog
TimePickerDialog timePickerDialog = new TimePickerDialog(this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
edtime.setText(hourOfDay + ":" + minute);
if(hourOfDay==00)
{
tvpicktime.setText((17) + ":" + minute);
}
else if(hourOfDay==1)
{
tvpicktime.setText((18) + ":" + minute);
}
else if(hourOfDay==2)
{
tvpicktime.setText((19) + ":" + minute);
}
else if(hourOfDay==3)
{
tvpicktime.setText((20) + ":" + minute);
}
else if(hourOfDay==4)
{
tvpicktime.setText((21) + ":" + minute);
}
else if(hourOfDay==5)
{
tvpicktime.setText((22) + ":" + minute);
}
else if(hourOfDay==6)
{
tvpicktime.setText((23) + ":" + minute);
}
else if(hourOfDay==7)
{
tvpicktime.setText((00) + ":" + minute);
}
else if(hourOfDay==8)
{
tvpicktime.setText((01) + ":" + minute);
}
else if(hourOfDay==9)
{
tvpicktime.setText((02) + ":" + minute);
}
else if(hourOfDay==10)
{
tvpicktime.setText((03) + ":" + minute);
}
else if(hourOfDay==11)
{
tvpicktime.setText((04) + ":" + minute);
}
else if(hourOfDay==12)
{
tvpicktime.setText((05) + ":" + minute);
}
if(hourOfDay==13)
{
tvpicktime.setText((06) + ":" + minute);
}
else if(hourOfDay==14)
{
tvpicktime.setText((07) + ":" + minute);
}
else if(hourOfDay==15)
{
tvpicktime.setText((8) + ":" + minute);
}
else if(hourOfDay==16)
{
tvpicktime.setText((9) + ":" + minute);
}
else if(hourOfDay==17)
{
tvpicktime.setText((10) + ":" + minute);
}
else if(hourOfDay==18)
{
tvpicktime.setText((11) + ":" + minute);
}
else if(hourOfDay==19)
{
tvpicktime.setText((12) + ":" + minute);
}
else if(hourOfDay==20)
{
tvpicktime.setText((13) + ":" + minute);
}
else if(hourOfDay==21)
{
tvpicktime.setText((14) + ":" + minute);
}
else if(hourOfDay==22)
{
tvpicktime.setText((15) + ":" + minute);
}
else if(hourOfDay==23)
{
tvpicktime.setText((16) + ":" + minute);
}
}
}, mHour, mMinute, false);
timePickerDialog.show();
}
}
하지만 날짜는? ..... 나는 내 픽업 시간에 따라 날짜를 원합니다! – rohiH
@rohiH 이것은 모든 것을 처리해 줄 것입니다. 그는 시간, 일, 달 및 심지어 년 (01-01-2016의 경우)을 관리 할 것입니다. 그래서이 코드를 호출하면 완료됩니다. –
이 코드는 음수 값을 나타내며 적절한 날짜를 표시하지 않습니다. 00:00 am - 5:00 am에 문제가 발생합니다. – rohiH