gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 14:27:40 25 4
gpt4 key购买 nike

我想获取当月的所有日期并将它们添加到列表中。我想将它们添加为 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com