
正文
java判断时间范围代码 java怎么判断时间大小
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
写一段JAVA代码判断日期格式是否正确
static
public
boolean
isValidDate(
int
year,
int
mon,
int
day,
short
year_min,short
year_max,
StringBuffer
msg)
{
if(yearyear_min
||
yearyear_max)
{
msg.append("年份必须在("+
year_min+"~"+year_max+
")之间,输入值("+year+")无效\n");
return
false;
}else
if(mon1
||
mon12){
msg.append("月份必须在(1~12)之间,输入值("+mon+")无效\n");
return
false;
}else
if(day1
||
day31){
msg.append("日号必须在(1~31)之间,输入值("+day+")无效\n");
return
false;
}else
if(mon==2){
if(isLeapYear(year)
day29){
msg.append("闰年的闰二月日号必须在(1~29)之间,"+year+"是闰年,输入值("+day+")无效\n");
return
false;
}else
if(day28){
msg.append("非闰年的闰二月的日号必须在(1~28)之间,"+year+"不是闰年,输入值("+day+")无效\n");
return
false;
}
}
return
true;
}
//闰年
static
public
boolean
isLeapYear(int
year){
return
(year%4==0
year%100!=0)||
year%400==0;
}
相关问答
Q1: 我想在java里做一个一段时间的判断,看我输入的时间是否在我规定的时间之内。最好来段代码,谢谢了。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class TimeType extends Date {
public static void main(String[] args) throws ParseException {
//统一格式, 为了方便,小时..都去掉了
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
//定义区间值
Date dateAfter=df.parse("2011-12-22");
Date dateBefor=df.parse("2011-1-19");
//接收要判断的Date
System.out.println("请输入你的日期格式为 yyyy-MM-dd");
Scanner scan=new Scanner(System.in);
String str=scan.next();
//将你输入的String 数据转化为Date
Date time=df.parse(str);
//判断time是否在XX之后,并且 在XX之前
if(time.before(dateAfter) time.after(dateBefor)){
System.out.println(df.format(time)+"在此区间");
}
else{
System.out.println(df.format(time)+"不在此区间");
}
}
}
那个判断if里面的两个方法,date.before(date1) 返回的是一个boolean值,意思就是date是不是在date1之前 是则返回 true ...明白了吧 楼主明白了吧 给分吧!
Q2: 做个日期查询,判断开始日期与终止日期范围必须在一个月之内,用java代码
import java.text.DateFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.SimpleFormatter;
public class DateTest {
/**
* 判断是否在同一个月
* @param startDate yyyy-MM-dd
* @param endDate yyyy-MM-dd
* @return false:不在同一个月内java判断时间范围代码,true在同一个月内
*/
public static boolean isMonth(String startDate,String endDate){
if(margin(startDate, endDate)31){
return false;
}
int startMonth = Integer.parseInt(startDate.substring(5, 7));
int endMonth = Integer.parseInt(endDate.substring(5, 7));
if(startMonth==endMonth){
return true;
}else{
return false;
}
}
/**
* 计算开始日期和结束日期差
* @param startDate yyyy-MM-dd
* @param endDate yyyy-MM-dd
* @return
*/
private static int margin(String startDate,String endDate){
ParsePosition pos = new ParsePosition(0);
ParsePosition pos2 = new ParsePosition(0);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date ds = sdf.parse(startDate, pos);
Date de = sdf.parse(endDate, pos2);
long l = de.getTime()-ds.getTime();
int margin = (int)(l/24*60*60*1000);
return margin;
}
/**
* main方法测试
* @param args
*/
public static void main(String[] args) {
System.out.println(DateTest.isMonth("2014-10-17", "2014-10-25"));
System.out.println(DateTest.isMonth("2014-10-17", "2014-12-25"));
}
}
Q3: Java 实现判断时间是否在某个区间内(如是否
java.util.Date有方法
int compareTo(Date anotherDate)Compares two Dates for ordering.
就可以 对比是否在某时间java判断时间范围代码的区间之内java判断时间范围代码了
~~~~~~~~~~~~~~~~~~
Q4: java 判断一个时间是不是今天的时间范围内
public static boolean isToday(Date date) {
Calendar c1 = Calendar.getInstance();
c1.setTime(date);
int year1 = c1.get(Calendar.YEAR);
int month1 = c1.get(Calendar.MONTH)+1;
int day1 = c1.get(Calendar.DAY_OF_MONTH);
Calendar c2 = Calendar.getInstance();
c2.setTime(new Date());
int year2 = c2.get(Calendar.YEAR);
int month2 = c2.get(Calendar.MONTH)+1;
int day2 = c2.get(Calendar.DAY_OF_MONTH);
if(year1 == year2 month1 == month2 day1 == day2){
return true;
}
return false;
}
Q5: Java判断日期是否是本日,本周,本月
public static void main(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Calendar firstDayOfWeek = Calendar.getInstance(Locale.getDefault());
firstDayOfWeek.setFirstDayOfWeek(Calendar.MONDAY);
int day = firstDayOfWeek.get(Calendar.DAY_OF_WEEK);
firstDayOfWeek.add(Calendar.DATE, -day+1+1);// 后面java判断时间范围代码的+1是因为从周日开始
// 本周一的日期
System.out.println(format.format(firstDayOfWeek.getTime()));
Calendar lastDayOfWeek = Calendar.getInstance(Locale.getDefault());
lastDayOfWeek.setFirstDayOfWeek(Calendar.MONDAY);
day = lastDayOfWeek.get(Calendar.DAY_OF_WEEK);
lastDayOfWeek.add(Calendar.DATE, 7-day+1);
// 本周星期天的日期
System.out.println(format.format(lastDayOfWeek.getTime()));
}
这一段代码可以获取本周一的日期、本周日的日期java判断时间范围代码,比如本周一为20180702、本周日为20180708。只要判断给定的日期数字是否在[20180702, 20180708]范围内即可
以上的是判断日期是否是本周的方法java判断时间范围代码,至于本日和本月就很好判断java判断时间范围代码了java判断时间范围代码,直接将日期格式化为20180702类似的数字,然后与今天进行比较即可判断是否本日,与本月的字符串201807进行比较,看字符串的前面6个字符是否equals即可
java判断时间范围代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java怎么判断时间大小、java判断时间范围代码的信息别忘了在本站进行查找喔。






