• java获取未来一个月日期字符串,java获取未来7天工作日日期


    • 获取未来一个月(31天)的日期字符串
    • 获取未来7天工作日日期列表(调用了外部API接口)
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    
    public class MyDate {
    
        /**
         * 获取未来31天的日期字符串
         *
         * @return
         */
        public String getDates() {
            Date d = new Date();
            long dTime = d.getTime();
            long dTimes[] = new long[31];
            for (int i = 0; i < dTimes.length; i++) {
                if (i == 0) {
                    dTimes[i] = dTime + 86400000;
                } else {
                    dTimes[i] = dTimes[i - 1] + 86400000;
                }
            }
            String dates = "";
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
            for (int i = 0; i < dTimes.length; i++) {
                dates += (i > 0) ? "," : "";
                dates += sdf.format(new Date(Long.parseLong(String.valueOf(dTimes[i]))));
            }
            return dates;
        }
    
        /**
         * 获取未来7天工作日的日期
         *
         * @return
         * @throws Exception
         */
        public static List<String> getDateList() throws Exception {
            List<String> dateList = new ArrayList();
            MyDate myDate = new MyDate();
            String dates = myDate.getDates();
            String apiUrl = "https://api.apihubs.cn/holiday/get?date=" + dates + "&order_by=1&cn=1&size=31";
            String result = MyHttp.doGet(apiUrl);
            JSONObject res = JSONObject.parseObject(result);
            String msg = res.getString("msg");
            if (msg == null) {
                return dateList;
            }
            JSONObject data = res.getJSONObject("data");
            JSONArray list = data.getJSONArray("list");
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
            for (int i = 0; i < list.size(); i++) {
                JSONObject item = list.getJSONObject(i);
                if (item.getInteger("workday") == 1 && dateList.size() < 7) {
                    Date date = sdf.parse(item.getString("date_cn"));
                    String date1 = sdf1.format(new Date(Long.parseLong(String.valueOf(date.getTime()))));
                    dateList.add(date1);
                }
            }
            return dateList;
        }
    
    }

    以上类中使用到的MyHttp类在以下链接中:MyHttp类

  • 相关阅读:
    【转】关于维生素的那些事
    【转】MaBatis学习---源码分析MyBatis缓存原理
    【转】Spring学习---Bean配置的三种方式(XML、注解、Java类)介绍与对比
    【转】Java学习---垃圾回收算法与 JVM 垃圾回收器综述
    Qt 中的对象模型(Object Model)
    The Property System
    Qt--core模块概述
    QtCore概述
    在Android Studio中下载Android SDK的两种方式(Android Studio3.0、windows)
    同一个进程的多个线程堆栈共享状况
  • 原文地址:https://www.cnblogs.com/phpyangbo/p/15881869.html
Copyright © 2020-2023  润新知