Java 获取当前日期并计算未来 7 天日期及星期几

本篇文章提供一个 Java 方法示例,用于获取当前日期,并计算未来 7 天的日期和对应的星期几,以中文形式返回结果。该方法使用 Java 的 Calendar 和 SimpleDateFormat 类进行日期和星期计算,并以 Map 形式存储结果。

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;

public class DateUtils {
    public static Map<String, String> getNextSevenDays() {
        Map<String, String> dates = new HashMap<>();
        Calendar calendar = Calendar.getInstance();
        
        // 获取当前日期
        SimpleDateFormat dateFormat = new SimpleDateFormat('M月d日');
        String currentDate = dateFormat.format(calendar.getTime());
        
        dates.put(currentDate, getChineseWeekDay(calendar));
        
        // 获取此后的7天日期
        for (int i = 0; i < 6; i++) {
            calendar.add(Calendar.DAY_OF_MONTH, 1);
            String nextDate = dateFormat.format(calendar.getTime());
            dates.put(nextDate, getChineseWeekDay(calendar));
        }
        
        return dates;
    }
    
    private static String getChineseWeekDay(Calendar calendar) {
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
        String[] weekDays = {'星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'};
        return weekDays[dayOfWeek - 1];
    }
    
    public static void main(String[] args) {
        Map<String, String> dates = getNextSevenDays();
        for (Map.Entry<String, String> entry : dates.entrySet()) {
            System.out.println(entry.getKey() + ' ' + entry.getValue());
        }
    }
}

代码解析

  1. 获取当前日期: 使用 Calendar.getInstance() 获取当前时间,并使用 SimpleDateFormat 格式化成 'M月d日' 的格式。
  2. 循环计算未来 7 天日期: 使用 Calendar.add(Calendar.DAY_OF_MONTH, 1) 逐天增加日期,并将日期和对应的星期几添加到 Map 中。
  3. 获取星期几: 使用 Calendar.get(Calendar.DAY_OF_WEEK) 获取星期几的数字,并通过 weekDays 数组映射到中文的星期几。
  4. 返回结果: 最后返回包含 7 天日期及对应星期几的 Map。

使用方法

main 方法中,调用 getNextSevenDays() 获取 7 天日期和星期几的 Map,并通过循环输出结果。

总结

该 Java 方法可以方便地获取当前日期并计算未来 7 天的日期和对应的星期几,并以中文形式返回结果。你可以根据需要进行修改和调整,例如更改日期格式、计算不同的天数等。


原文地址: https://www.cveoy.top/t/topic/o3oA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录