问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java判断开始时间结束时间

发布网友 发布时间:2022-04-25 08:39

我来回答

7个回答

热心网友 时间:2022-04-25 10:09

  try{
      java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM");
      java.util.Calendar starCalendar = java.util.Calendar.getInstance();
      java.util.Calendar endCalendar = java.util.Calendar.getInstance();

      String starStr = "2011-11";
      String endStr = "2012-02";
      java.util.Date starDate = sdf.parse(starStr);
      java.util.Date endDate = sdf.parse(endStr);

      starCalendar.setTime(starDate);
      endCalendar.setTime(endDate);
      int instance = endCalendar.compareTo(starCalendar);

      while(endCalendar.compareTo(starCalendar)>=0){
      System.out.println(sdf.format(starCalendar.getTime()));
   //这里我输出了,你可以自行处理,List等进行操作
      starCalendar.add(Calendar.MONTH, 1);
      }

   }catch(ParseException e){
   e.printStackTrace();
   }


热心网友 时间:2022-04-25 11:27

按照你说的,做了一个案列。你看看是不是这样的

package com.zwd.first;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class AboutTime1 {
public static void main(String[] args) {
//开始时间
String startDate="2011-11";
//结束时间
String endDate="2012-02";
//取出开始的年份
int startYear=Integer.parseInt(startDate.substring(0, 4));
//取出开始的月份
int startMonth=Integer.parseInt(startDate.substring(5, 7));
//取出结束的年份
int endYear=Integer.parseInt(endDate.substring(0, 4));
//取出结束的月份
int endMonth=Integer.parseInt(endDate.substring(5, 7));
//计算出相差多少年
int rangeYear=endYear-startYear;
//计算相差多少月
int rangeMonth=0;
if(rangeYear>0){
rangeMonth=rangeYear*12-startMonth+endMonth;
}else {
rangeMonth=startMonth-endMonth;
}

SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM");
Date sdate=null;
try {
sdate = sf.parse(startDate);
} catch (ParseException e) {
e.printStackTrace();
}
//创建集合
List<String> list= new ArrayList<String>();
for(int i=0;i<=rangeMonth;i++){
Calendar calendar = Calendar.getInstance();
calendar.setTime(sdate);
calendar.add(Calendar.MONTH,+i);
String date = new SimpleDateFormat("yyyy-MM").format(calendar.getTime());
list.add(date);
}

//测试
for(String s:list){
System.out.println(s);
}

}
}

热心网友 时间:2022-04-25 13:01

public static void main(String[] args) {

try{
String startDateStr = "2013-8";

Integer startYear = Integer.parseInt(startDateStr.substring(0, 4));

Integer strartIndex = startDateStr.indexOf("-");

Integer strartMon = Integer.parseInt(startDateStr.substring(strartIndex + 1));

String endDateStr = "2018-5";

Integer endYear = Integer.parseInt(endDateStr.substring(0, 4));

Integer endIndex = endDateStr.indexOf("-");

Integer endMon = Integer.parseInt(endDateStr.substring(endIndex + 1));

if(strartIndex != 4 || endIndex != 4 || strartMon <= 0 || strartMon > 12 || endMon <= 0 || endMon > 12){
System.out.println("日期输入有误!");
return;
}

int forIndex = (endYear - startYear) * 12 + (endMon - strartMon) + 1;

if(forIndex > 0){

String[] dateAry = new String[forIndex];

Integer currentYear = startYear;

Integer currentMon = strartMon;

for(int i = 0; i < forIndex; i++){

if(currentMon > 12){
currentMon -= 12;
currentYear += 1;
}
dateAry[i] = currentYear + "-" + currentMon;

currentMon += 1;
}

for(int i = 0; i < dateAry.length; i++){
System.out.println(dateAry[i] + "\n");
}
}else{
System.out.println("开始日期必须小于结束日期!");
}
}catch(Exception e){
e.printStackTrace();
System.out.println("日期输入有误!");
}

}

热心网友 时间:2022-04-25 14:53

可以在前台用JQ判断!得到输入框的值,进行判断!

热心网友 时间:2022-04-25 17:01

用日历类 Calendar calendar = new GregorianCalendar();追问能否详细点!

追答楼下答得可以用。

热心网友 时间:2022-04-25 19:25

你可以得到具体的年月日,然后比较!

热心网友 时间:2022-04-25 22:07

什么意思?能说清楚点吗?追问补充问题↑

追答import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
public class myServlet {
public static void main(String[] args) throws Exception {
Date date = getDate("yyyy-MM", "2013-01");
List list = new ArrayList();
int i = getIndex(date, "2013-12");
for (int k = 0; k classza = obj.getClass();
String simple = "";
if ("String".equals(classza.getSimpleName())) {
simple = obj;
}
else {
return -1;
}
int year = Integer.parseInt(simple.substring(0, 4));
int month = Integer.parseInt(simple.substring(5, 7));
int index = (year - startDateYear) * 12 + (month - startDateMonth);
return index;
}
public static Date getDate(String style, String param) throws Exception {
return new SimpleDateFormat(style).parse(param);
}
public static String getDate(String style, Date date) {
return new SimpleDateFormat(style).format(date);
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦幻西游怎样查看自己怎么加的属性点阿? 我好长时间没玩了 .. 怎么... 梦幻西游怎么查看我各项加了多少点 卤肉料的配方 卤肉上色最好的配方前十 三国中曹操有几个儿子 曹植的意思是什么 曹操有多少个儿子?其中姓名叫什么? 简谱中1=c2/4是什么意思?别说几节几拍我不知道节和拍是什么意思 简谱四分之二什么意思 ...是鸡膏吗 放在老汤里行吗 怎么才能容于水 谢谢 怎么使用? 如何提高银行存款 野鸭子2电视剧里所有吉他曲名字叫什么? 南方黑芝麻糊生产日期怎么看 春季百花的意思是什么? 镜花缘中百花是指哪百花? 修改不了QQ密码怎么办 QQ密码改不掉怎么办 QQ密码改不了怎么办? js求当结束时间小于开始时间立马给出提示 氨 氟利昂的临界温度 制冷剂为什么要凝固点低,临界温度高,比热容小,黏度和相对密度要小 制冷剂R123的特性是什么。 求教js高手赐教..如何判断一个日期段和另一个日期是否有重复,如图显示: 邓燕芳姓名繁体字笔画总和共有多少笔 龙门镖局邓廷芳强势吗值得培养吗 广东国晖律师事务所的律师成员 邓本殷的个人履历 这个演员是谁,叫什么名字 2010年中水车间年终工作总结范文(要字数在1500字左右\比较深入的),谢谢! 怎么把一个word放在另一个word文档 d25tcif1发动机可以拉几吨 国六D25TCIF1是不是长效发动机? 国六领航6的发动机动力怎么样? 国六时代领航6用的是什么发动机? D25TCIF1国六发动机充气时发动机抖动且噪音大 欧马可s2搭载云内D25TCIF1国六发动机 充气时噪音大 d25tcif1发动机和全柴Q23愿可买那个 欧马可s2搭载云内D25TCIF1国六发动机正常多少公里后处理再生 F1赛车引擎参数及配置 F1发动机为什么能达到2万转 云内D25TCIF1故障码1127是什么故障? 跃进超运C500-33,170马力,敢问大家知道这个云内德威D30TCIF1 这个型号的发动机多少公里保养一次? 邮政汇款的汇款单要填些什么? 邮局汇款的表怎么填? 邮局汇款单怎么填 专利缴费邮局汇款如何填写汇款单? 怎样填写邮局汇款单,附言项目怎样填写。 在邮局汇款需准备些什么?汇款单上大概要填写些什么? 邮政汇款单怎么填,谁能够告诉我,附上图示更佳! 去邮局取钱的汇款单是什么样