android - android中的日历并将日期添加到数组

标签 android

我想获取当月的所有日期并将它们添加到列表中。我想将它们添加为 String: Sun, 1 Dec. 只有我得到的是当天的 Calendar 对象。我怎样才能做到这一点?这是 Calendar 中的任何函数来解析字符串 Monday 或 somethig 上的 int day 吗?以及如何以这种特定方式添加所有日期? 这就是我此刻得到的:

int day = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
        int daysInMonth = Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_MONTH);

        for(int i = 0; i < daysInMonth; i++){
            //here I want to add strings, but don't know how 
        }

最佳答案

您需要使用 SimpleDateFormat根据需要获取日期字符串并添加到列表中。然后将日期移到第二天。

查看下面的代码

Calendar mCalendar = Calendar.getInstance();
int daysInMonth = mCalendar.getActualMaximum(Calendar.DAY_OF_MONTH);

ArrayList<String> allDays = new ArrayList<String>();
SimpleDateFormat mFormat = new SimpleDateFormat("EEE, dd MMM", Locale.US);
for(int i = 0; i < daysInMonth; i++){
    // Add day to list
    allDays.add(mFormat.format(mCalendar.getTime()));
    // Move next day
    mCalendar.add(Calendar.DAY_OF_MONTH, 1);
}

此方法将一个月中的所有日期添加到列表中,但在许多情况下,这也会添加下个月的日期。如果你不想要这个,那么请看下面的方法。


如果您只想添加从今天(给定日期)开始的剩余天数,请使用以下代码

Calendar mCalendar = Calendar.getInstance();
// Calculate remaining days in month
int remainingDay = mCalendar.getActualMaximum(Calendar.DAY_OF_MONTH) - mCalendar.get(Calendar.DAY_OF_MONTH) + 1;
ArrayList<String> allDays = new ArrayList<String>();
SimpleDateFormat mFormat = new SimpleDateFormat("EEE, dd MMM", Locale.US);
for(int i = 0; i < remainingDay; i++){
    // Add day to list
    allDays.add(mFormat.format(mCalendar.getTime()));
    // Move next day
    mCalendar.add(Calendar.DAY_OF_MONTH, 1);
}

这将仅返回[12 月 27 日星期五,12 月 28 日星期六,12 月 29 日星期日,12 月 30 日星期一,12 月 31 日星期二](因为今天是 2013 年 12 月 27 日)。所以我认为你正在寻找这种方法。

关于android - android中的日历并将日期添加到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20802002/

相关文章:

java - Android后台任务抛出运行时错误

java - 如何在java中将英文数字转换为中文

java - 什么是 setTimeOut() javascript 到 Android 的等价物?

android - 在 Android 上呈现动态表单的方法?

android - 如何在android中测试处理SQLite数据库的方法?

android - 如何为 Android 编译 C++14 代码?

Android 启动器图标不工作

android - 底部 ContextMenu 与 actionbar sherlock

php - INSERT Row If Does Not Exist mysql with POST 插入行

android - 执行命令时出错 : permission denied