Java 以多个片段显示日期

Java 以多个片段显示日期,java,android,date,fragment,Java,Android,Date,Fragment,我很难想出一种以片段形式显示日期的方法。我需要做的是在片段顶部显示今天的日期,然后当用户滑动或按下按钮时,片段将替换上一个片段并显示明天的日期,然后下一个片段将显示明天之后的日期,依此类推 我不确定我是否理解问题所在,但您可以获得明天的日期或与当前时间相关的任何日期,如下所示: Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_YEAR, numberOfDaysToAdd); Date date =

我很难想出一种以片段形式显示日期的方法。我需要做的是在片段顶部显示今天的日期,然后当用户滑动或按下按钮时,片段将替换上一个片段并显示明天的日期,然后下一个片段将显示明天之后的日期,依此类推

我不确定我是否理解问题所在,但您可以获得明天的日期或与当前时间相关的任何日期,如下所示:

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR, numberOfDaysToAdd);
Date date = calendar.getTime();

我不确定我是否理解问题所在,但您可以获得明天的日期或与当前时间相关的任何日期,如下所示:

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR, numberOfDaysToAdd);
Date date = calendar.getTime();
创建一个包含当前日期的片段和一个包含偏移量的Bundle extra

public class DateFragment extends Fragment {

    private static final String DAY_OF_YEAR = "datefragment.DAY_OF_YEAR";

    /**
     * Empty constructor as per the {@link Fragment} docs
     */
    public DateFragment() {
    }

    /**
     * @param offset The number of days to off the {@link Calendar}
     * @return A new instance of <code>DateFragment</code>
     */
    public static DateFragment newInstance(int offset) {
        final Bundle args = new Bundle();
        args.putInt(DAY_OF_YEAR, offset);
        final DateFragment fragment = new DateFragment();
        fragment.setArguments(args);
        return fragment;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        final SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy", Locale.getDefault());
        final Calendar c = Calendar.getInstance();
        c.add(Calendar.DAY_OF_YEAR, getArguments().getInt(DAY_OF_YEAR, 1));

        final TextView text = new TextView(getActivity());
        text.setText(df.format(c.getTime()));
        return text;
    }

}
在你的活动中

结果

这将为您提供类似于2014年3月23日的信息,直到您选择的任何时间,在本例中是一年后。

创建一个包含当前日期的片段和一个包含偏移量的额外捆绑包

public class DateFragment extends Fragment {

    private static final String DAY_OF_YEAR = "datefragment.DAY_OF_YEAR";

    /**
     * Empty constructor as per the {@link Fragment} docs
     */
    public DateFragment() {
    }

    /**
     * @param offset The number of days to off the {@link Calendar}
     * @return A new instance of <code>DateFragment</code>
     */
    public static DateFragment newInstance(int offset) {
        final Bundle args = new Bundle();
        args.putInt(DAY_OF_YEAR, offset);
        final DateFragment fragment = new DateFragment();
        fragment.setArguments(args);
        return fragment;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        final SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy", Locale.getDefault());
        final Calendar c = Calendar.getInstance();
        c.add(Calendar.DAY_OF_YEAR, getArguments().getInt(DAY_OF_YEAR, 1));

        final TextView text = new TextView(getActivity());
        text.setText(df.format(c.getTime()));
        return text;
    }

}
在你的活动中

结果

这将给你带来2014年3月23日这样的信息,直到你选择的任何时候,在这种情况下,一年后。

Joda Time 您可以在Android中使用该库

如果您只需要date,而不需要任何时间或时区,请使用该类

示例代码 格式化 要将LocalDate格式化为字符串,请参阅。

Joda Time 您可以在Android中使用该库

如果您只需要date,而不需要任何时间或时区,请使用该类

示例代码 格式化
要将LocalDate格式化为字符串,请参见。

我知道如何使用GregoriaCalendar获取明天的日期,但如何获取后天的日期?我知道如何使用GregoriaCalendar获取明天的日期,但如何获取后天的日期?