如何在Android中单击按钮时获取下一个日期?

时间:2013-12-14 11:21:19

标签: android android-datepicker

在我的应用程序中,我有一个文本视图来设置当前日期以及下一个日期和上一个日期的两个按钮。

当点击下一个按钮时,我需要将下一个日期设置为文本视图而不打开日期选择器,也类似于上一个按钮。

请任何人帮助我。

3 个答案:

答案 0 :(得分:21)

您可以使用Calendar获取current date。然后,如果您希望previous date could use c.add(Calendar.DATE, -1) -1current date是您想要从previous date递减的天数。在您的情况下,我们希望-1如此使用next date。同样,要使c.add(Calendar.DATE, 1)使用Calendar c = Calendar.getInstance(); System.out.println("Current time => " + c.getTime()); SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy"); String formattedDate = df.format(c.getTime()); textview.setText(formattedDate); 。您可以通过更改整数来获取之前或之前的天数。

首先将当前日期设置为textview。

previous.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                c.add(Calendar.DATE, -1);
                formattedDate = df.format(c.getTime());

                Log.v("PREVIOUS DATE : ", formattedDate);
                textview.setText(formattedDate);
             }
});

然后点击上一个按钮:

next.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                c.add(Calendar.DATE, 1);
                formattedDate = df.format(c.getTime());

                Log.v("NEXT DATE : ", formattedDate);
                textview.setText(formattedDate);
            }
});

点击下一步按钮:

{{1}}

答案 1 :(得分:1)

试试这个,

private static SimpleDateFormat  dateFormat  = new SimpleDateFormat("dd -MM-yyyy", Locale.US);

int dayShift = n; // Positive for next days, negative for previous days
Calendar c = Calendar.getInstance();
if (dayShift  != 0) {
        c.add(Calendar.DAY_OF_YEAR, dayShift);
}
mdate.setText(dateFormat.format(c.getTime());

答案 2 :(得分:0)

使用以下代码:

Calendar mCalendar  = new GregorianCalendar(year, month, day);
mCalendar.add(Calendar.DAY_OF_YEAR, 1);
Date mDate          = mCalendar.getTime();

首先初始化您的日历,每天添加mCalendar.add(Calendar.DAY_OF_YEAR, 1);或减去mCalendar.add(Calendar.DAY_OF_YEAR, -1);,获取当前日期,然后根据您的需要对其进行格式化