我无法找出问题所在。我必须创建一个存储进出费用数据的银行系统,到目前为止,我已经创建了一个数组对象,每个对象都保存了名称,金额和几周时间,例如4.如果我知道这个费用每4周发生一次,我如何自动生成从今年1月开始到结束的日期,例如工资+4000,1/1/12,工资+4000,29/1/12等等?Java - 创建日期列表
如果我知道它应该每X周发生一次,我该如何自动生成日期列表?
我无法找出问题所在。我必须创建一个存储进出费用数据的银行系统,到目前为止,我已经创建了一个数组对象,每个对象都保存了名称,金额和几周时间,例如4.如果我知道这个费用每4周发生一次,我如何自动生成从今年1月开始到结束的日期,例如工资+4000,1/1/12,工资+4000,29/1/12等等?Java - 创建日期列表
如果我知道它应该每X周发生一次,我该如何自动生成日期列表?
您可以使用Java日历类。
Calendar date= Calendar.getInstance();
ArrayList<Calendar> dates = new ArrayList<>();
for (int i=0; i<10; i++)
{
date.add(Calendar.WEEK_OF_YEAR, 4);
dates.add(date);
}
'now'是什么?它在哪里定义? – 2013-04-07 22:04:14
对不起,现在按日期替换(我更改了变量的名称) – 2013-04-07 22:37:20
此代码无效。生成的'dates' ArrayList中的所有日期都是相同的。 – stackoverflowuser2010 2015-07-11 19:05:03
这是@Héctorvan den Boorn的改进答案。
Calendar date= Calendar.getInstance();
ArrayList<Calendar> dates = new ArrayList<>();
for (int i=0; i<10; i++)
{
date.add(Calendar.WEEK_OF_YEAR, 4);
// Create new instance of cal
Calendar tmp= Calendar.getInstance();
//Makes its inner values the same
tmp.setTime(date.getTime());
// Add unique instance to list
dates.add(tmp);
}
多少天在4周内有哪些?从那以后,你可以在计数器变量上做一个简单的增量。最后,你需要找到一年中第n天的日历日期。我建议你放下笔记本电脑,拿起日历来寻找如何完成这最后一步的想法。 – 2013-04-07 21:54:00