【1】问题:一种格式日期内容的字符串转换成另一种格式的日期内容的字符串
如: mon/day/year -> year-mon-dat 数据类型为 String
解决:
思路: 用原字符串创建Date对象,再将Date对象用SimpleDateFormat格式化,再转成String
代码:
Date oldDate=new SimpleDateFormat("mm/dd/yyyy").parse(date);//date 为传参 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); String newDate=df.format(oldDate);
【2】问题:JS传递日期内容的字符串,构造yyyy-MM-dd格式的日期时,1,2,3,4...这些月份没有“0”月份不完整
解决:
function getNow(s) { return s < 10 ? '0' + s: s; //格式化月份,天,如:1111-4-2 格式为 1111-04-02; }
【3】问题:生成一段时间内的所有日期
public List<String> generateDate(String startDate, String endDate) throws ParseException { List<String> dateList = new ArrayList<String>(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); //日历类 Calendar start = Calendar.getInstance(); Calendar end = Calendar.getInstance(); start.setTime(dateFormat.parse(startDate)); end.setTime(dateFormat.parse(endDate)); end.add(Calendar.DATE, +1); Calendar curr = start; while (curr.before(end)) { dateList.add(dateFormat.format(curr.getTime())); curr.add(Calendar.DAY_OF_MONTH, 1); } return dateList; }
设置 起止日期:
String startDate="2020-01-01"; String endDate="2020-01-30";
【4】使用
(1)
jQuery 获取当天时间 var date=new Date; var year = date.getFullYear(); //获取当前年 var mon = date.getMonth() + 1; //获取当前月 var day = date.getDate(); //获取当前日 var week = date.getDay(); var weeks = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]; console.log(year, mon, day, weeks[week])
(2)
java获取:
Date today = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(today); //int year = cal.get(Calendar.YEAR);// 获取年 //int month = cal.get(Calendar.MONTH) + 1;// 获取月份,0表示1月份 //int day = cal.get(Calendar.DAY_OF_MONTH);// 获取当前天数 int hour = cal.get(Calendar.HOUR_OF_DAY);// 获取当前小时 int min = cal.get(Calendar.MINUTE);// 获取当前分钟