当前位置:首页 » 编程语言 » java日期判断

java日期判断

发布时间: 2022-05-03 09:17:46

A. java中如何判断输入的日期是否合法

java.text.DateFormat dateFormat= new java.text.SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH);

dateFormat.setLenient(false);

java.util.Date timeDate = dateFormat.parse(dateString);

//转换为util类型

看到dateFormat.setLenient(false);没有,设定其为false就是强制判断是否非法日期,不让系统自动转换,否则2月31号系统会自动转换为3月2号或者3号。

B. java中怎样判断日期处于两个日期中

Date date = new Date();
long time = date.getTime();

time越大时间越往后,不知道你用的什么类但是一般和时间有关的都可以间接得到Date类,然后可以调用getTime方法获得时间戳,也就是这里的time,你只需比较你的time是是否处于那两个日期对应的time之间,也就是判断 if(time>time1&&time<time2)

C. java判断是否是日期

楼主提出的问题有点片面,我的理解是,你是不是想判断字符串是不是日期格式?如果已经是日期类型,那就不需要判断了,对把。判断给定字符串是不是日期我给你提供两种解决思路,一种是用正则,代码我给你写好了。

publicbooleanisDate(Stringdate){
/**
*判断日期格式和范围
*/
Stringrexp="^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";

Patternpat=Pattern.compile(rexp);

Matchermat=pat.matcher(date);

booleandateType=mat.matches();

returndateType;
}

参数就是你要判断的日期字符串,返回布尔值;

另一种方式就是:玩字符串正则才是王道嘛!希望采纳

publicbooleanisValidDate(Stringstr){
booleanconvertSuccess=true;
//指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写;
//如果想判断格式为yyyy-MM-dd,需要写成-分隔符的形式
SimpleDateFormatformat=newSimpleDateFormat("yyyy/MM/ddHH:mm");
try{

format.setLenient(false);
format.parse(str);
}catch(ParseExceptione){
//e.printStackTrace();
//如果抛出ParseException或者NullPointerException,就说明格式不对
convertSuccess=false;
}
returnconvertSuccess;
}

推荐使用正则,

D. java中怎么做到判断输入的日期是否合法

Java为了支持多语言,没有固定的日期格式。你需要根据自己的需要指定日期格式,然后用DateFormat类或者SimpleDateFormat类来判断是否是正确的日期格式。下面的例子供参考。更详细的内容(比如yyyy,MM,dd各代表什么)可以参考javadoc。

public class DateUtil
{
private static final SimpleDateFormat dateFormat = null;
static
{
// 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写;
dateFormat = new SimpleDateFormat("yyyy/MM/dd");
// 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01
dateFormat.setLenient(false);
}

public static boolean isValidDate(String s)
{
try
{
dateFormat.parse(s);
return true;
}
catch (Exception e)
{
// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
return false;
}
}

// 下面这个方法则可以将一个日期按照你指定的格式输出
public static String formatDate(Date d)
{
return dateFormat.format(d);
}

}

E. java怎样判断日期的先后

Java判段两个日期的先后,方法如下:

import java.util.Date;

import java.text.ParseException;

import java.text.SimpleDateFormat;

public class TestD {

public static void main(String[] args){

String date1="2017-07-19 13:02:58";

String date2="2017-07-19 14:02:58";

//将字符串格式的日期格式化

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

try {

//将日期转成Date对象作比较

Date fomatDate1=sdf.parse(date1);

Date fomatDate2=sdf.parse(date2);

//比较两个日期

int result=fomatDate2.compareTo(fomatDate1);

//如果日期相等返回0

if(result==0){

System.out.println("两个时间相等");

}else if(result<0){

//小于0,参数date1就是在date2之后

System.out.println("date1大于date2");

}else{

//大于0,参数date1就是在date2之前

System.out.println("date1小于date2");

}

} catch (ParseException e) {

e.printStackTrace();

}

}

}

结果:

date1小于date2

F. java判断某日期 是否超过今天

一、使用Date类创建日期对象

Datedate1=newDate(2017,5,20);


二、通过Calendar获得当前日期

Datenow;
Calendarc=Calendar.getInstance();
now=newDate(c.get(Calendar.YEAR),c.get(Calendar.MONTH)+1,c.get(Calendar.DAY_OF_MONTH));


三、使用Date类的after()方法判断一个日期是否在另一个日期的后面

if(date1.after(now)){
System.out.println("超过了今天");
}
else{
System.out.println("没有超过今天");
}


四、完整的Java程序

importjava.util.Calendar;
importjava.util.Date;

publicclassMain{
publicstaticvoidmain(String[]args){
Datedate1=newDate(2017,5,20);
Datenow;
Calendarc=Calendar.getInstance();
now=newDate(c.get(Calendar.YEAR),c.get(Calendar.MONTH)+1,c.get(Calendar.DAY_OF_MONTH));

if(date1.after(now)){
System.out.println("超过了今天");
}
else{
System.out.println("没有超过今天");
}
}
}


五、运行测试

没有超过今天

G. java 判断两个日期是同一天

最简单的方式就是把两个日期都格式化成年月日的字符串日期,然后对比两个字符串是否相等,如果相等就是同一天,否则就不是了。

H. JAVA里判断某时间是不是在当天中

JAVA里判断某时间是不是在当天的方法是:

把时间都转换成毫秒数,知道了当天日期,你就可以获取当天0点和第二天零点的毫秒数,打卡时间所对应的毫秒数在这两者之间就可以了。

I. 判断java 日期字符串

你可以先设置格式,然后根据“2010/12/06
14:30:30”得到Date格式的日期,如果能得到就可以返回一个Date对象,否则返回null
String
text="2010/12/06
14:30:30";
String
date="yyyy/MM/dd
HH:mm:ss";//HH表示为24小时制,hh表示为12小时制
Date
d=new
SimpleFormatDate(date).parse(text);
if(d==null){
...
}else{
...
}

J. java怎样判断下面的日期的先后

Java判段两个日期的先后,方法如下:

importjava.util.Date;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;publicclassTestD{
publicstaticvoidmain(String[]args){

Stringdate1="2017-07-1913:02:58";

Stringdate2="2017-07-1914:02:58";
//将字符串格式的日期格式化
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddhh:mm:ss");
try{
//将日期转成Date对象作比较
DatefomatDate1=sdf.parse(date1);
DatefomatDate2=sdf.parse(date2);
//比较两个日期
intresult=fomatDate2.compareTo(fomatDate1);
//如果日期相等返回0
if(result==0){
System.out.println("两个时间相等");
}elseif(result<0){
//小于0,参数date1就是在date2之后
System.out.println("date1大于date2");
}else{
//大于0,参数date1就是在date2之前
System.out.println("date1小于date2");
}

}catch(ParseExceptione){

e.printStackTrace();
}
}
}
结果:
date1小于date2
热点内容
优酷怎么给视频加密 发布:2025-05-14 19:31:34 浏览:633
梦三国2副本脚本 发布:2025-05-14 19:29:58 浏览:859
phpxmlhttp 发布:2025-05-14 19:29:58 浏览:432
Pua脚本 发布:2025-05-14 19:24:56 浏览:448
苹果像素低为什么比安卓好 发布:2025-05-14 19:13:23 浏览:460
安卓机微信怎么设置红包提醒 发布:2025-05-14 19:00:15 浏览:271
androidsystem权限设置 发布:2025-05-14 18:56:02 浏览:970
mq脚本 发布:2025-05-14 18:45:37 浏览:25
仙境传说ro解压失败 发布:2025-05-14 18:45:01 浏览:868
betweenand的用法sql 发布:2025-05-14 18:39:25 浏览:250