如何把系统时间转化成int型与textbox的值进行比较?

时间:2022-04-23 19:56:32
公司要求的那个系统是jsp做的,有一栏位要求进行时间比较,textbox输入时间不可小于系统时间的前一个月,请问该如何比较,在javabean里

11 个解决方案

#1


咋沒人回答我啊?

#2


把输入的时间转换成 Date类型以后和当前系统时间进行比较!
可以用java.text.SimpleDateFormat类来将固定格式的字符串解析成Date.

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String strDate = "20051110";
Date = sdf.parse(strDate);

#3


用DateFormat f = new SimpleDateFormat("yyyy-MM-dd hh:mm")将textbox中的字符串转换成日期,然后再和当前日期直接进行比较就可以了。注意textbox中的日期格式要按要求写。

#4


问题是不是和当前的时间比较,而是要大于系统时间的前一个月,系统时间是不能固定的啊,每天时间都会变.我用Integer自带的函数想把系统时间转化成int行比较,但就是转不过来:Integer.parseInt(string),请问怎样转化?要是有别的方法请全部写出来 ,我以前是做.net的,JAVA基础不是很好

#5


这是输入时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String strDate = "20051110";
Date inputDate = sdf.parse(strDate);
Calendar input = new GregorianCalendar();
input.setTime(inputDate);
Calendar now = new GregorianCalendar();系统时间
now.add(Calendar.Month,-1);前一个月。
input.before(now);这句就可以判断了。
注意java中的月份是从零开始的。


#6


恩,楼上的似乎可以了

#7


if(strState == "新增")
       {
           SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");//我只要年和月份
           String strDate = this.GetDate();//GetDate()是我自己寫的獲取系統時間函數
           Date inputDate = sdf.parse(strDate);
           Calendar txtSLIP_YM = new GregorianCalendar();//這句不能執行,以後的就不執行了,txtSLIP_YM是我的txtbox
           txtSLIP_YM.setTime(inputDate);
           Calendar now = new GregorianCalendar(); //系统时间
           now.add(Calendar.MONTH, -1); //前一个月。
           txtSLIP_YM.before(now); //这句就可以判断了。

       }
請問哪裏有錯嗎?

#8


我好像寫錯了,能幫我把完整的程式寫出來嗎?我想用txtSLIP_YM跟系統前一個月比較,如果小於就return false

#9


有人會嗎?

#10


你要是把数据库表里的时间字段设置成是字符型的话就不用那么麻烦啦:)直接left()就可以对比了,呵呵

#11


晕,这又不是我说了算的,不能随便改的

#1


咋沒人回答我啊?

#2


把输入的时间转换成 Date类型以后和当前系统时间进行比较!
可以用java.text.SimpleDateFormat类来将固定格式的字符串解析成Date.

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String strDate = "20051110";
Date = sdf.parse(strDate);

#3


用DateFormat f = new SimpleDateFormat("yyyy-MM-dd hh:mm")将textbox中的字符串转换成日期,然后再和当前日期直接进行比较就可以了。注意textbox中的日期格式要按要求写。

#4


问题是不是和当前的时间比较,而是要大于系统时间的前一个月,系统时间是不能固定的啊,每天时间都会变.我用Integer自带的函数想把系统时间转化成int行比较,但就是转不过来:Integer.parseInt(string),请问怎样转化?要是有别的方法请全部写出来 ,我以前是做.net的,JAVA基础不是很好

#5


这是输入时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String strDate = "20051110";
Date inputDate = sdf.parse(strDate);
Calendar input = new GregorianCalendar();
input.setTime(inputDate);
Calendar now = new GregorianCalendar();系统时间
now.add(Calendar.Month,-1);前一个月。
input.before(now);这句就可以判断了。
注意java中的月份是从零开始的。


#6


恩,楼上的似乎可以了

#7


if(strState == "新增")
       {
           SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");//我只要年和月份
           String strDate = this.GetDate();//GetDate()是我自己寫的獲取系統時間函數
           Date inputDate = sdf.parse(strDate);
           Calendar txtSLIP_YM = new GregorianCalendar();//這句不能執行,以後的就不執行了,txtSLIP_YM是我的txtbox
           txtSLIP_YM.setTime(inputDate);
           Calendar now = new GregorianCalendar(); //系统时间
           now.add(Calendar.MONTH, -1); //前一个月。
           txtSLIP_YM.before(now); //这句就可以判断了。

       }
請問哪裏有錯嗎?

#8


我好像寫錯了,能幫我把完整的程式寫出來嗎?我想用txtSLIP_YM跟系統前一個月比較,如果小於就return false

#9


有人會嗎?

#10


你要是把数据库表里的时间字段设置成是字符型的话就不用那么麻烦啦:)直接left()就可以对比了,呵呵

#11


晕,这又不是我说了算的,不能随便改的