java - Android 获取两个日期之间的星期几名称

标签 java android date dayofweek difference

我想使用简单的 Java 获取两个日期之间的日期名称,而不使用任何第三方库。

我想要获取两天之间的名称,例如星期六、星期日、星期一(包括这两天)。

最佳答案

/**
     * 
     * @param startDate
     * @param endDate
     * @return Start Date and End Date are <b>Inclusive</b>, days returned between these two dates
     */
    protected List<String> getWeekDayNames(Date startDate, Date endDate) {
        List<String> days = new ArrayList<String>();

        Calendar startCal = Calendar.getInstance();
        startCal.setTime(startDate);

        Calendar endCal = Calendar.getInstance();
        endCal.setTime(endDate);

        if (startCal.getTimeInMillis() == endCal.getTimeInMillis()) {

            days.add(this.formatDayOfWeek(startCal.getTime()));

            return Collections.unmodifiableList(days);
        }
        // swap values
        if (startCal.getTimeInMillis() > endCal.getTimeInMillis()) {
            startCal.setTime(endDate);
            endCal.setTime(startDate);
        }

        do {

            days.add(this.formatDayOfWeek(startCal.getTime()));

            startCal.add(Calendar.DAY_OF_MONTH, 1);

        } while (startCal.getTimeInMillis() <= endCal.getTimeInMillis());

        return Collections.unmodifiableList(days);
    }

用法:

Calendar cal = Calendar.getInstance();
        cal.add(Calendar.DAY_OF_MONTH, 15);

        List<String> list = new Test().getWeekDayNames(new Date(), cal.getTime());

        System.out.println(list);

输出:

[SATURDAY, SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY]

关于java - Android 获取两个日期之间的星期几名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21643339/

相关文章:

java - 将窗口添加到容器错误

Android 目标 SDK 与构建 SDK

非电话设备的 Android CDD/CTS 合规性

java - 如何在点击 View 时加载不同的 View 类型?

javascript - getDate() slice() 混淆

Java 渲染仅相交?

java - Hibernate @Where 注解语法问题

java - 连接4对电脑

ios - 如何计算两个日期之间特定日期的计数?

java - 带日历的时区