Java 如何获得今日';使用时间选择器选择日期/时间?

Java 如何获得今日';使用时间选择器选择日期/时间?,java,android,date,calendar,timepicker,Java,Android,Date,Calendar,Timepicker,我有一个计时器来获取时间。我为Android应用程序编写了以下Java代码: Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); Log.e("Alarm", "" + calendar.getTime()); calendar.set(Calendar.HOUR, timePicker.getCurrentHour()); calendar.set(

我有一个
计时器
来获取时间。我为Android应用程序编写了以下Java代码:

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
Log.e("Alarm", "" + calendar.getTime());

calendar.set(Calendar.HOUR, timePicker.getCurrentHour());
calendar.set(Calendar.MINUTE, timePicker.getCurrentMinute());
Log.e("Alarm", "" + calendar.getTime());
第二道工序比第一道工序提前一天

我试着用下面的代码减去了一天

calendar.add(Calendar.DATE, -1);

这是唯一的办法还是最好的办法?如何使用
时间选择器获取今天的日期/时间?

您应该添加:
calendar.getInstance()改为
calendar.add(calendar.DATE,-1)

我的代码:

Date today = new Date(); 
final Calendar c = Calendar.getInstance(); 
preventa.setText(VarGlobales.formatofecha(today));

请检查以下代码…您可能会从中获得帮助

public void setCurrentTimeOnView() {

    tvDisplayTime = (TextView) findViewById(R.id.tvTime);
    timePicker1 = (TimePicker) findViewById(R.id.timePicker1);

    final Calendar c = Calendar.getInstance();
    hour = c.get(Calendar.HOUR_OF_DAY);
    minute = c.get(Calendar.MINUTE);

    // set current time into textview
    tvDisplayTime.setText(
                new StringBuilder().append(pad(hour))
                                   .append(":").append(pad(minute)));

    // set current time into timepicker
    timePicker1.setCurrentHour(hour);
    timePicker1.setCurrentMinute(minute); 
}

时间选择器给出了GMT时间,您还应该考虑时区偏移。

好的,我得到了解决方案。谢谢大家!:)


您应该使用一天中的小时,而不是小时,因为时间选择器的小时数在0-23之间。
Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour());
calendar.set(Calendar.MINUTE, timePicker.getCurrentMinute());
Log.e("Alarm", "" + calendar.getTime());