导航:首页 > 编程语言 > java判断时间格式

java判断时间格式

发布时间:2025-02-24 15:35:52

java 正则表达式验证日期格式 yyyy-MM-dd,如何写

我前不久刚好整了这段代码,你仔细看一下:
闰年:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))

平年:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))

上面代码验证的格式是yyyyMMdd,看懂了这个,你那个也就清楚了

② java 实现判断时间早晚(如6:00:00 晚于 4:00:00)

写一个比较时间的方法DateCompare给你,具体看注释,在main方法里面有测试:

importjava.text.SimpleDateFormat;
importjava.util.Date;


publicclassTEST{

/**
*@paramargs
*@throwsException
*/
publicstaticvoidmain(String[]args)throwsException{
//例如比较当前时间和早上6:00
StringnowTime=newSimpleDateFormat("HH:MM").format(newDate());
System.out.println("当前时间为:"+nowTime);
System.out.println("与当日06:00相比");
inti=DateCompare(nowTime,"06:00","HH:MM");
switch(i){
case0:
System.out.println("两个时间相等");
break;
case1:
System.out.println("当前时间晚于06:00");
break;
case-1:
System.out.println("当前时间早于06:00");
break;
default:
break;
}

}
/**
*根据时间类型比较时间大小
*
*@paramsource
*@paramtraget
*@paramtype"YYYY-MM-DD""yyyyMMddHH:mm:ss"类型可自定义
*@param传递时间的对比格式
*@return
*0:source和traget时间相同
*1:source比traget时间大
*-1:source比traget时间小
*@throwsException
*/
publicstaticintDateCompare(Stringsource,Stringtraget,Stringtype)throwsException{
intret=2;
SimpleDateFormatformat=newSimpleDateFormat(type);
Datesourcedate=format.parse(source);
Datetragetdate=format.parse(traget);
ret=sourcedate.compareTo(tragetdate);
returnret;
}
}

该方法可以转换时间、日期、具体什么格式可以自定义,

另外如果你是需要做定时任务,推荐使用quartz有java的实现版。

希望对你有帮助。

③ java如何对生日(yyyymmdd)进行合法性判断

修改你说的存在的bug
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestBirthday {
public static void main(String[] args){
String birthday="20130132";
System.out.println(isBirthday(birthday));
}
/*
* @param : birthday 传入一个日期格式的字符串
* 支持 yyyy-MM-dd ,yyyyMMdd MM-dd-yyyy ,yyyy年MM月dd日
* @isBirthday 判断输入的字符串是否是合法的生日 生日不能大于当前日期
* */
public static boolean isBirthday(String birthday){
//定义需要过滤的条件,可以将你期望的日期格式添加到数组中
String[] formats={
"yyyy-MM-dd",
"yyyyMMdd",
"MM-dd-yyyy",
"yyyy年MM月dd日"
};
/*
* 设置格式过滤器
*/
//记录传入的日期字符串,转换成日期类型
Date birth=null;
//判断格式是否正确,默认值为false
boolean isRight=false;
for(String f:formats){
try {
birth =new SimpleDateFormat(f).parse(birthday);
//校验日期转换后是和传入的值不相同,说明日期传入有问题
//修正楼上提到的bug
if(!new SimpleDateFormat(f).format(birth).equals(birthday)){
return false;
}
isRight=true;
break;
} catch (ParseException e) {}
}
if(isRight){
//获取当前日期的毫秒数
long now =new Date().getTime();
//获取生日的毫秒数
long birthTime = birth.getTime();
//如果当前时间小于生日,生日不合法。反之合法
return birthTime<=now;
}else{
//输入的参数类型不是日期类型,或者类型和过滤中设置的类型不匹配
return false;
}
}
}

④ java 中 判断时间问题

用java中date的before方法,date1.before(date2),返回boolean 类型
if(date1.before(date2)){
//date1比date2时间提前
}else{
//date2比date1时间提前
}
下面是示例:
//判断当前时间是否在时间date2之前
//时间格式 2005-4-21 16:16:34
public static boolean isDateBefore(Date date2){
Date date1 = new Date();//当前时间
return date1.before(date2);
}

阅读全文

与java判断时间格式相关的资料

热点内容
程序员学五笔 浏览:308
linux编程下载文件 浏览:4
java基础面试编程题 浏览:460
linux数学计算 浏览:773
android手机电脑同步 浏览:287
简明python教程书在线观看 浏览:742
理想论坛多空出击指标源码 浏览:685
扩散更新算法 浏览:557
当代大学德语pdf 浏览:506
打程序员代码被暴打 浏览:390
怎么看手机支持mrp和app 浏览:466
python爬取百度贴吧信息 浏览:635
手机怎么连好轻app 浏览:399
真实赛车3安卓如何登录 浏览:733
解压压缩包要谁的密码 浏览:746
微信看涨跌源码 浏览:70
android全局service 浏览:291
飞猪app关注怎么取消 浏览:437
snmp4j源码 浏览:247
如何利用肉鸡搭建ftp服务器 浏览:454