java语言如何进行date日期的运算或者如何判断日期有没有超过今天

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java语言如何进行date日期的运算或者如何判断日期有没有超过今天相关的知识,希望对你有一定的参考价值。

如何用sql2000数据库存储的日期因为取出时显示的是年月日分时秒,现在仅需要取到年月日,然后和今天比较有没有超过今天。 首先如何只取数据库年月日,第二如何比较有没有超过今天,今天的日期我已经有方法得到。仅需要比较的方法。

参考技术A java.util.Date ctime = new java.util.Date(); String rTime = ""; java.text.SimpleDateFormat cf = new java.text.SimpleDateFormat("yyyyMMdd"); rTime = cf.format(ctime); int time1 = Integer.PaseInt(rTime); 取得今天日期,然后把他转换成数字("2008-08-08"转换为20080808[数字类型]) 然后把数据库里的日期类型也转换为INT行,比较,然后,就很简单了吧 不明白问我把,QQ252578832本回答被提问者采纳 参考技术B ava.util.Date ctime = new java.util.Date();
String rTime = "";
java.text.SimpleDateFormat cf = new java.text.SimpleDateFormat("yyyyMMdd");
rTime = cf.format(ctime);
int time1 = Integer.PaseInt(rTime);
取得今天日期,然后把他转换成数字("2008-08-08"转换为20080808[数字类型])
然后把数据库里的日期类型也转换为INT行,比较,然后,就很简单了吧

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;


参考技术A 1、js页面判断
2、在后台截取下,看看是不是长度一样,前四位在某个范围内,mm是否是1-12之类的判断,字符串截取下
参考技术B 调用Date类进行转换,如果抛异常就是不合法的的日期格式。 参考技术C 使用正则表达式
日期格式:^\d4-\d1,2-\d1,2
参考技术D 可以再网上搜一下正则表达式

以上是关于java语言如何进行date日期的运算或者如何判断日期有没有超过今天的主要内容,如果未能解决你的问题,请参考以下文章

用java语言创建一个日期类,使得该类能够对日期的合法性进行验证。

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

Java对日期Date类进行加减运算,年份加减,月份加减

shell脚本 - 日期比较与判断

Hive 中如何实现日期格式判断

js中如何判断一个8位数是不是为日期