文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java开发基础日期类的示例分析

2023-05-31 00:03

关注

这篇文章主要为大家展示了“Java开发基础日期类的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java开发基础日期类的示例分析”这篇文章吧。

一、日期工具类

package com.lyz.date;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import com.chwl.medical.utils.common.CollectionUtils;import com.chwl.medical.utils.common.ObjectUtils;public class DateUtils {public static final String DATE_FORMAT = "yyyy-MM-dd";public enum Type{Year, Month, Date}public static int getYears(Date startDate, Date endDate, Type type){int count = 0; Calendar calBegin = Calendar.getInstance(); //获取日历实例  Calendar calEnd = Calendar.getInstance();  calBegin.setTime(startDate); calEnd.setTime(endDate); if(Type.Year == type){ count = calEnd.get(Calendar.YEAR) - calBegin.get(Calendar.YEAR);  }else if(Type.Month == type){ count = calEnd.get(Calendar.MONTH) - calBegin.get(Calendar.MONTH);  }else{ count = calEnd.get(Calendar.DATE) - calBegin.get(Calendar.DATE);  } return count;}public static Map<String, List<String>> getKeyFromMapByValue(int offset, int length){return getKeyFromMapByValue(getDateKeyWeekValue(offset, length));}public static Map<String, List<String>> getKeyFromMapByValue(Map<String, String> dateWeek){Map<String, List<String>> weekDate = new HashMap<String, List<String>>();if(!CollectionUtils.isEmpty(dateWeek)){for(Map.Entry<String, String> entry : dateWeek.entrySet()){//获取日期集合List<String> list = weekDate.get(entry.getValue());if(ObjectUtils.isEmpty(list)){list = new ArrayList<String>();}list.add(entry.getKey());weekDate.put(entry.getValue(), list);}}return weekDate;}public static Map<String, String> getDateKeyWeekValue(int offset, int length){Map<String, String> map = new HashMap<String, String>();for(int i = offset; i <= length; i++){List<Date> list = getAllTheDateOftheMonth(new Date(),i);for(Date date: list){String weekDay = getDateOfWeek(date);map.put(parseDateToString(date, DATE_FORMAT), weekDay);}}return map;}public static List<Date> getAllTheDateOftheMonth(Date date, int n) {List<Date> list = new ArrayList<Date>();Calendar cal = Calendar.getInstance();cal.setTime(date);cal.set(Calendar.DATE, 1);cal.add(Calendar.MONTH, n);int month = cal.get(Calendar.MONTH);while(cal.get(Calendar.MONTH) == month){list.add(cal.getTime());cal.add(Calendar.DATE, 1);}return list;}public static String getDateOfWeek(Date date) {//String[] weekDaysName = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };String[] weekDaysCode = { "0", "1", "2", "3", "4", "5", "6" };Calendar calendar = Calendar.getInstance();calendar.setTime(date);int intWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;if(intWeek < 0) intWeek = 0;return weekDaysCode[intWeek];}public static String parseDateToString(Date date, String formatString) {return getSimpleDateFormat(formatString).format(date);}public static SimpleDateFormat getSimpleDateFormat(String formatString) {return new SimpleDateFormat(formatString);}}

二、测试类

package com.lyz.date; import net.sf.json.JSONObject;  public class TestDate {   public static void main(String[] args) {     System.out.println(JSONObject.fromObject(DateUtils.getDateKeyWeekValue(-1, 1)));     System.out.println(JSONObject.fromObject(DateUtils.getKeyFromMapByValue(-1,1)));   } }

三、测试结果

{  "2017-02-28": "2",  "2017-04-19": "3",  "2017-04-17": "1",  "2017-02-25": "6",  "2017-04-18": "2",  "2017-02-24": "5",  "2017-04-15": "6",  "2017-02-27": "1",  "2017-04-16": "0",  "2017-02-26": "0",  "2017-04-13": "4",  "2017-02-21": "2",  "2017-04-14": "5",  "2017-02-20": "1",  "2017-04-11": "2",  "2017-02-23": "4",  "2017-04-12": "3",  "2017-02-22": "3",  "2017-04-21": "5",  "2017-04-20": "4",  "2017-04-08": "6",  "2017-04-09": "0",  "2017-04-04": "2",  "2017-04-05": "3",  "2017-04-06": "4",  "2017-04-07": "5",  "2017-04-01": "6",  "2017-04-02": "0",  "2017-04-03": "1",  "2017-04-10": "1",  "2017-02-07": "2",  "2017-02-06": "1",  "2017-02-09": "4",  "2017-02-08": "3",  "2017-03-29": "3",  "2017-03-25": "6",  "2017-03-26": "0",  "2017-03-27": "1",  "2017-02-01": "3",  "2017-03-28": "2",  "2017-03-21": "2",  "2017-02-03": "5",  "2017-03-22": "3",  "2017-02-02": "4",  "2017-03-23": "4",  "2017-02-05": "0",  "2017-03-24": "5",  "2017-02-04": "6",  "2017-03-31": "5",  "2017-03-30": "4",  "2017-04-23": "0",  "2017-04-22": "6",  "2017-02-19": "0",  "2017-04-25": "2",  "2017-02-18": "6",  "2017-04-24": "1",  "2017-02-17": "5",  "2017-04-27": "4",  "2017-04-26": "3",  "2017-04-29": "6",  "2017-03-18": "6",  "2017-04-28": "5",  "2017-03-19": "0",  "2017-02-12": "0",  "2017-03-16": "4",  "2017-02-11": "6",  "2017-03-17": "5",  "2017-02-10": "5",  "2017-03-14": "2",  "2017-03-15": "3",  "2017-02-16": "4",  "2017-03-12": "0",  "2017-02-15": "3",  "2017-03-13": "1",  "2017-02-14": "2",  "2017-03-10": "5",  "2017-02-13": "1",  "2017-03-11": "6",  "2017-03-20": "1",  "2017-03-09": "4",  "2017-03-08": "3",  "2017-03-07": "2",  "2017-03-06": "1",  "2017-03-05": "0",  "2017-03-04": "6",  "2017-03-03": "5",  "2017-03-02": "4",  "2017-04-30": "0",  "2017-03-01": "3"}
{  "3": [    "2017-04-19",    "2017-04-12",    "2017-02-22",    "2017-04-05",    "2017-02-08",    "2017-03-29",    "2017-02-01",    "2017-03-22",    "2017-04-26",    "2017-03-15",    "2017-02-15",    "2017-03-08",    "2017-03-01"  ],  "2": [    "2017-02-28",    "2017-04-18",    "2017-02-21",    "2017-04-11",    "2017-04-04",    "2017-02-07",    "2017-03-28",    "2017-03-21",    "2017-04-25",    "2017-03-14",    "2017-02-14",    "2017-03-07"  ],  "1": [    "2017-04-17",    "2017-02-27",    "2017-02-20",    "2017-04-03",    "2017-04-10",    "2017-02-06",    "2017-03-27",    "2017-04-24",    "2017-03-13",    "2017-02-13",    "2017-03-20",    "2017-03-06"  ],  "0": [    "2017-04-16",    "2017-02-26",    "2017-04-09",    "2017-04-02",    "2017-03-26",    "2017-02-05",    "2017-04-23",    "2017-02-19",    "2017-03-19",    "2017-02-12",    "2017-03-12",    "2017-03-05",    "2017-04-30"  ],  "6": [    "2017-02-25",    "2017-04-15",    "2017-04-08",    "2017-04-01",    "2017-03-25",    "2017-02-04",    "2017-04-22",    "2017-02-18",    "2017-04-29",    "2017-03-18",    "2017-02-11",    "2017-03-11",    "2017-03-04"  ],  "5": [    "2017-02-24",    "2017-04-14",    "2017-04-21",    "2017-04-07",    "2017-02-03",    "2017-03-24",    "2017-03-31",    "2017-02-17",    "2017-04-28",    "2017-03-17",    "2017-02-10",    "2017-03-10",    "2017-03-03"  ],  "4": [    "2017-04-13",    "2017-02-23",    "2017-04-20",    "2017-04-06",    "2017-02-09",    "2017-02-02",    "2017-03-23",    "2017-03-30",    "2017-04-27",    "2017-03-16",    "2017-02-16",    "2017-03-09",    "2017-03-02"  ]}

以上是“Java开发基础日期类的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯