Java字符串转换为日期和时间比较大小

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java字符串转换为日期和时间比较大小

Posted on 2010-12-07 15:55 chinaifne阅读(36130) 评论(1) 编辑收藏

方法一:

DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");

String dateBegin=fmt.format(carrierCommand.getDateBegin());

String dateEnd=fmt.format(carrierCommand.getDateEnd());

//如果获得的日期格式不是'2008-05-22',就必须要格式化一下日期

String dateBegin = request.getParameter("dateBegin");

String dateEnd = request.getParameter("dateEnd");

if(java.sql.Date.valueOf(dateBegin).after(java.sql.Date.valueOf(dateEnd))){

//起始日期大于结束日期

errors.rejectValue("dateEnd", null, "起始日期必须小于结束日期!");

}

StringBuffer timeBegin = new StringBuffer();

StringBuffer timeEnd = new StringBuffer();

timeBegin.append(request.getParameter("timeBegin"));

timeEnd.append(request.getParameter("timeEnd"));

timeBegin.append(":00");

timeEnd.append(":00");

if(java.sql.Date.valueOf(dateBegin).equals(java.sql.Date.valueOf(dateEnd)))

{ //起始日期等于结束日期

if(java.sql.Time.valueOf(timeBegin.toString()).equals(java.sql.Time.valueOf (timeEnd.toString())))//时间相同

{

errors.rejectValue("timeEnd", null, "起始与结束日期相同,起始时间必须小于结束时间!"); }

if(java.sql.Time.valueOf(timeBegin.toString()).after(java.sql.Time.valueOf (timeEnd.toString())))//时间相同

{

errors.rejectValue("timeEnd", null, "起始与结束日期相同,起始时间必须小于结束时间!"); }

}

方法二:

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Date;

/**

*

* @author hp

*/

public class test {

public static void main(String args[]) {

int i= compare_date("1995-11-12 15:21", "1999-12-11 09:59"); System.out.println("i=="+i);

}

public static int compare_date(String DATE1, String DATE2) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");

try {

Date dt1 = df.parse(DATE1);

Date dt2 = df.parse(DATE2);

if (dt1.getTime() > dt2.getTime()) {

System.out.println("dt1 在dt2前");

return 1;

} else if (dt1.getTime() < dt2.getTime()) {

System.out.println("dt1在dt2后");

return -1;

} else {

return 0;

}

} catch (Exception exception) {

exception.printStackTrace();

}

return 0;

}

}

方法三:

比如:现在是2004-03-26 13:31:40

过去是:2004-01-02 11:30:24

我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒

java计算时间差及比较时间大小

比如:现在是2004-03-26 13:31:40

过去是:2004-01-02 11:30:24

我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒

一:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try

{

Date d1 = df.parse("2004-03-26 13:31:40");

Date d2 = df.parse("2004-01-02 11:30:24");

long diff = d1.getTime() - d2.getTime();

long days = diff / (1000 * 60 * 60 * 24);

}

catch (Exception e)

{

}

相关文档
最新文档