当前位置: 技术问答>java相关
一些关于日期处理的问题
来源: 互联网 发布时间:2015-08-13
本文导语: 1 判断一个字符串是否可以转换为日期,比如"2002-01-03"就可以(true),"fds"就不行(false) 2 将一个字符串转换成为日期,如果可以的话 3 2个日期相差的天数 4 某个日期前后某天的日期 谢谢了 | ...
1 判断一个字符串是否可以转换为日期,比如"2002-01-03"就可以(true),"fds"就不行(false)
2 将一个字符串转换成为日期,如果可以的话
3 2个日期相差的天数
4 某个日期前后某天的日期
谢谢了
2 将一个字符串转换成为日期,如果可以的话
3 2个日期相差的天数
4 某个日期前后某天的日期
谢谢了
|
回答你的第一个问题:
public boolean IsDate(String TxtData) {
TxtData = TxtData.trim();
if ( TxtData.length() > 0 ) {
if ( !IsNumeric(TxtData) || !IsFullLen(TxtData,8) ) {
return false;
}
int y = new Integer(TxtData.substring(0,4)).intValue();
int m = new Integer(TxtData.substring(4,6)).intValue();
int d = new Integer(TxtData.substring(6 )).intValue();
try {
Calendar date = new GregorianCalendar( y, m-1, d );
date.setLenient(false);
date.get(date.DATE); //擔晅偑懨摉偱側偄応崌偵椺奜傪敪惗偝偣傞
}
catch(java.lang.IllegalArgumentException e) {
info="调用IsDate()方法时异常:"+e.toString();
return false;
}
}
return true;
}
第2个问题:修改上面方法就可以了。
public boolean IsDate(String TxtData) {
TxtData = TxtData.trim();
if ( TxtData.length() > 0 ) {
if ( !IsNumeric(TxtData) || !IsFullLen(TxtData,8) ) {
return false;
}
int y = new Integer(TxtData.substring(0,4)).intValue();
int m = new Integer(TxtData.substring(4,6)).intValue();
int d = new Integer(TxtData.substring(6 )).intValue();
try {
Calendar date = new GregorianCalendar( y, m-1, d );
date.setLenient(false);
date.get(date.DATE); //擔晅偑懨摉偱側偄応崌偵椺奜傪敪惗偝偣傞
}
catch(java.lang.IllegalArgumentException e) {
info="调用IsDate()方法时异常:"+e.toString();
return false;
}
}
return true;
}
第2个问题:修改上面方法就可以了。
|
3.
import java.util.Date;
Date d1 = new Date();
Date d2 = new Date();//这只是说怎么初始化这两个日期型的变量。这时它们都等于当前时间。
······
int day = (int)(d2.getTime() / (1000 * 60 * 60 * 24)- d1.getTime() / (1000 * 60 * 60 * 24));
day就是相差天数。
import java.util.Date;
Date d1 = new Date();
Date d2 = new Date();//这只是说怎么初始化这两个日期型的变量。这时它们都等于当前时间。
······
int day = (int)(d2.getTime() / (1000 * 60 * 60 * 24)- d1.getTime() / (1000 * 60 * 60 * 24));
day就是相差天数。
|
4与3类似:
int day = 3;
Date d2 = new Date(d1.getTime() + day * 1000 * 60 * 60 * 24);
则d2就是d1三天后的日期。几天前的改为减号即可。
int day = 3;
Date d2 = new Date(d1.getTime() + day * 1000 * 60 * 60 * 24);
则d2就是d1三天后的日期。几天前的改为减号即可。