當前位置:首頁 » 編程語言 » 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
熱點內容
linux自學視頻 發布:2025-05-14 16:14:49 瀏覽:255
我的世界伺服器崩了重啟 發布:2025-05-14 16:09:37 瀏覽:44
android深拷貝 發布:2025-05-14 16:09:35 瀏覽:153
cf電腦版轉伺服器神器還在嗎 發布:2025-05-14 16:09:02 瀏覽:211
百度文庫伺服器如何搭建 發布:2025-05-14 16:09:00 瀏覽:248
安卓微信刪除的好友怎麼找回 發布:2025-05-14 16:08:56 瀏覽:706
iphone的訪問限制密碼忘記了怎麼辦 發布:2025-05-14 16:08:56 瀏覽:184
php對象轉換成數組 發布:2025-05-14 16:07:55 瀏覽:27
java服務端緩存 發布:2025-05-14 15:53:37 瀏覽:105
php判斷postget 發布:2025-05-14 15:34:24 瀏覽:357