-4
私はアプリケーションを開発しています。ここでは、日付と時刻のピッカーを使用したいと思います。日付と時刻を選択するには、選択した時刻の6時間前に結果時間を設定します。どのように私はこの時間を、適切な日付の時間をピックタイムの6時間前に設定するのですか? 例: 私は「30sep」と仮定し、時刻は「1:00 am」とし、表示したい日時は「29sep」と「7:00 pm」になります。 どうすればよいですか? 私は次のコードを使用しています:あなたは7時間を削除していて、それが1 AMだ場合、あなたは前の日に行く必要があります(当日変更されていませんが、とにかくあなたは、単にこれを呼び出すことができ、あなたのコードで時間と日付を選択する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