将日期添加到不在Android上运行的日历

时间:2016-12-27 09:53:49

标签: java android

我有以下代码:

newName = fileName.filter((chr) => badChars.indexOf(chr) === -1)

我正在创建一周中的一系列日期和他们的约会。但添加天数不起作用,最后我只是得到了今天的日期。

1 个答案:

答案 0 :(得分:0)

我发现了这个问题并且作为@Ole V.V.在评论中说它不是关于日历的。 问题在于它的算法。这是关于我创建json数组的方式。

我将其改为此并在我的程序中以不同的方式处理它:

    public void createWeeks(JSONArray TargetDays){
    int helper, targetDayPos, curDayPos;
    JSONArray dateContainer = new JSONArray();
    Date currentDate = new Date();
    Calendar c = Calendar.getInstance();
    int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
    Utilities dayConverter = new Utilities(getApplicationContext());

    try {
        for(int i=0 ; i<TargetDays.length() ; i++){

            c.setTime(currentDate);
            targetDayPos = dayConverter.getDayPosition(TargetDays.getString(i));
            curDayPos = dayConverter.getCalenderDayPosition(dayOfWeek);
            if (curDayPos > targetDayPos) {
                helper = curDayPos - targetDayPos;
                c.add(Calendar.DATE, -helper);
            }
            else if(targetDayPos > curDayPos) {
                helper = targetDayPos - curDayPos;
                c.add(Calendar.DATE, helper);
            }
            dateContainer.put(dateFormat.format(c));

        }
        weekDayList.put("days",TargetDays);
        weekDayList.put("dates", dateContainer);


    } catch (JSONException e) {
        e.printStackTrace();
    }
}