让我们一起爱米兰
站内搜搜:
移动设备
请扫描二维码
或访问
m.milan100.com
您所在的位置 -> 米兰百分百 -> JAVA -> JAVA日期时间相加减

JAVA日期时间相加减

点击数:2560 发表时间:2010-06-30 12:49:11 作者: 来源链接:
分享到:
分享到微信

import java.text.DateFormat;
import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.yourcompany.struts.form.DateForm;

/**
 * MyEclipse Struts
 * Creation date: 08-16-2007
 *
 * XDoclet definition:
 * @struts.action path="/date" name="dateForm" input="/date.jsp" scope="request" validate="true"
 */
public class DateAction extends Action {
 /*
  * Generated Methods
  */

 /**
  * Method execute
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return ActionForward
  */
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  DateForm dateForm = (DateForm) form;// TODO Auto-generated method stub
  
  
  
  String time1="2007-10-11";
  String time2="2007-10-09 ";
  String hh="09:00:10";
  String mm="10:00:00";
  int time=0;//相差毫秒数
  int i=0;   //天
  int s=0;//秒
      try{
       //将字符串转相应格式的时间类型
       DateFormat f = new SimpleDateFormat("yy-MM-dd");
       DateFormat t = new SimpleDateFormat("hh:mm:ss");

       Date h= new Date();
       Date m= new Date();
       Date d1 = new Date();
       Date d2 = new Date();
       //日期
       d1 = f.parse(time1);
       d2 = f.parse(time2);
      
       //调日期相减得到天数
             i=diffDate(d1,d2);

          try {
    //时间
    h = t.parse(hh);
    m = t.parse(mm);
    //看一下前一天的时间是否比后一天的时间小
    if(h.getTime()<m.getTime())
    {
     //如果成立,哪么天数相应去一天
     i-=1;
     time=(int)((h.getTime()+86500000 - m.getTime()) / (1000));//得到相差多少毫秒
     
    }else
    {
     time=(int)((h.getTime() - m.getTime()) / (1000));//得到相差多少毫秒
    }
    
    
   } catch (ParseException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
   }
   
   
  //System.out.println("cccc:"+time%60);
  //根据不同的时间,做出相应的处理=====具体是什么原因我也没有弄明白
  //以下是处理秒的代码,暂时注释掉
  //if(time%60==0)
  //{
   //s=(int)time%60;//到秒
  //}else
  //{
  // s=(int)time%60-40;//到秒
  //}
  int ms=(int)time/60;//到总分钟
  int hs=0;
  if(ms>=60)
  {
    hs=(int)ms/60;//得到小时
    ms-=(hs*60+1);//剩余分
  }
      
       
  //System.out.println("h:"+h.getTime()/3600);
  //System.out.println("m:"+m.getTime());
   System.out.println("天:"+i);
    System.out.println("相差:"+time+"秒");
    System.out.println("时:"+hs);
    System.out.println("分:"+ms);
    System.out.println("秒:"+s);
      }catch(Exception e)
      {
        e.printStackTrace();
      } 
  return null;
 }
 
//日期相减
 public static int diffDate(java.util.Date date, java.util.Date date1) {
  return (int) ((getMillis(date) - getMillis(date1)) / (24 * 3600 * 1000));
  }
 

//   返回毫秒
  public static long getMillis(java.util.Date date) {
  java.util.Calendar c = java.util.Calendar.getInstance();
  c.setTime(date);
  return c.getTimeInMillis();
  }

}

1
很 好
0
一 般
0
差 劲
热门新闻
相关文章
上一篇: ArrayList遍历的4种方法
下一篇: 【学习】JSP教程
评论区
匿名

返回首页 | 收藏本页 | 回到顶部
Copyright 2010. 米兰百分百 Powered By Bridge.
京ICP备15050557号