【JSP】几个常见的关于日期的问题 (2/123)

本帖地址: 复制地址

楼主: ..﹎天涯;

用户形象图片

1. 怎样计算两个时间之间的间隔?

   间隔=Date1.getTime()-Date2.getTime();得出来的是毫秒数.
     除1000是秒,再除60是分,再除60是小时..............................

     记住java标准库中所有时间类都以此为基础转化的,只是他写好了一些
   转化的方法给你用而已.但都离不开这个毫秒数为基础.

2. t=Calendar.getInstance();m=t.get(t.MONTH)+1;这里为什么要加一?

   在java语言里,date的month的取值范围是:0~11,与人们的自然表达上相差1。


3. 系统时间与当前日期的区别?
   
    系统时间确切的说应该是
    System.currentTimeMillis();
    new Date()是当前日期,虽然它getTime();和System.currentTimeMillis();
    一样,但System.currentTimeMillis();


4. 如何计算两个日期的天数差值?
   
    long beginTime = beginDate.getTime();
    long endTime2 = endDate.getTime();
    long betweenDays = (long)((endTime - beginTime) / (1000 * 60 * 60 *24) + 0.5);

5. 如何比较日期时间大小?
       
    第一种方法:
    use Calendar object to compare 
    java.util.Calendar class can be used to compare date. In order to do this, 
    you guy should parse that string into int year, month, day and construct a 
    Calendar object, and then do comparison.

    Below is a sample

    StringTokenizer token = new StringTokenizer(your string,"-");
    int year = Integer.parseInt(token.nextToken());
    int month = Integer.parseInt(token.nextToken());
    int day = Integer.parseInt(token.nextToken());
    Calendar date = Calendar.getInstance();
    date.set(year,month,day);
    Calendar today = Calendar.getInstacne();
    if(date.after(today)){
    //......
    }
    第二种方法
    Date nowDate=new Date();//当前时间\r
    long nowTime=nowDate.getTime;
    long lastTime=userTime.longValue();//以前的时间\r
    long time=nowTime-lastTime;//时间相减比较。
    if(time>(long)60000)//1分钟{}


    另外可用以下参考
    用时间戳,Date.getTime()可以把当前时间改成时间戳,
    用CompareTo();
    用before(),after(),equals();

6. 格式化日期的问题\r
   
    目的:
    第一次求日期
    java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd"); 
    String riqi=formatter.format(currentTime_1); 
    第二次求时间\r
    java.text.DateFormat format1 = new java.text.SimpleDateFormat("hhmmss"); 
    java.util.Date currentTime_2 = new java.util.Date(); 
    String shijian=format1.format(currentTime_2); 
    得到的结果是 
    2002-02-19和115324(11点53分24秒)

    实现:
    java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd-H-mm-ss"); 
    java.util.Date currentTime_1 = new java.util.Date();
    String str_date = formatter.format(currentTime_1); 
    StringTokenizer token = new StringTokenizer(str_date,"-"); 
    String year = token.nextToken();
    String month= token.nextToken();
    String day = token.nextToken(); 
    String hh = token.nextToken(); 
    String mm = token.nextToken(); 
    String ss = token.nextToken(); 
    String riqi=year+"年\\"+month+"月"+day+"日"+"  "+hh+"点\\"+mm+"分"+ss+"秒\\"; 
    String newdir=year+month+day; 
    String wenjian = hh+mm+ss;

7.  怎么得到一个月的天数?
    
        java.util.Calendar date = java.util.Calendar.getInstance();
        System.out.println(date.getActualMaximum(date.DAY_OF_MONTH));点此在新窗口浏览图片
回到帖子顶部

1楼e5e-渠道-pp

用户形象图片

------------------------------------------------------------------------------------------
★您想在您的网页上增加一个视频对话窗口吗?
★您想在网站直接和客户进行视频语音沟通吗?
★您想把产品通过网上语音视频展示给客户吗? 
★您想让访客一打开网站就能直接和您联系吗?

  第五元素网络信息有限公司提供一套在线视频客服系统给你网站免费试用。看看能否给贵单位的销售工作带来帮助。详情请登录http://kf.e5e.cn/   电话:15874525293  qq:1094276981
回到帖子顶部

2楼逍遥笑

用户形象图片

引用 ..﹎天涯; (2668585)在 2008年8月30日 执子之手与子偕老14:49:51(顶楼)的发表:
1. 怎样计算两个时间之间的间隔?

   间隔=Date1.getTime()-Date2.getTime();得出来的是毫秒数.
     除1000是秒,再除60是分,再除60是小时..............................

     记住java标准库中所有时间类都以此为基础转化的,只是他写好了一些
   转化的方法给你用而已.但都离不开这个毫秒数为基础.

2. t=Calendar.getInstance();m=t.get(t.MONTH)+1;这里为什么要加一?

   在java语言里,date的month的取值范围是:0~11,与人们的自然表达上相差1。


3. 系统时间与当前日期的区别?
   
    系统时间确切的说应该是
    System.currentTimeMillis();
    new Date()是当前日期,虽然它getTime();和System.currentTimeMillis();
    一样,但System.currentTimeMillis();


4. 如何计算两个日期的天数差值?
   
    long beginTime = beginDate.getTime();
    long endTime2 = endDate.getTime();
    long betweenDays = (long)((endTime - beginTime) / (1000 * 60 * 60 *24) + 0.5);

5. 如何比较日期时间大小?
       
    第一种方法:
    use Calendar object to compare 
    java.util.Calendar class can be used to compare date. In order to do this, 
    you guy should parse that string into int year, month, day and construct a 
    Calendar object, and then do comparison.

    Below is a sample

    StringTokenizer token = new StringTokenizer(your string,"-");
    int year = Integer.parseInt(token.nextToken());
    int month = Integer.parseInt(token.nextToken());
    int day = Integer.parseInt(token.nextToken());
    Calendar date = Calendar.getInstance();
    date.set(year,month,day);
    Calendar today = Calendar.getInstacne();
    if(date.after(today)){
    //......
    }
    第二种方法
    Date nowDate=new Date();//当前时间\r
    long nowTime=nowDate.getTime;
    long lastTime=userTime.longValue();//以前的时间\r
    long time=nowTime-lastTime;//时间相减比较。
    if(time>(long)60000)//1分钟{}


    另外可用以下参考
    用时间戳,Date.getTime()可以把当前时间改成时间戳,
    用CompareTo();
    用before(),after(),equals();

6. 格式化日期的问题\r
   
    目的:
    第一次求日期
    java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd"); 
    String riqi=formatter.format(currentTime_1); 
    第二次求时间\r
    java.text.DateFormat format1 = new java.text.SimpleDateFormat("hhmmss"); 
    java.util.Date currentTime_2 = new java.util.Date(); 
    String shijian=format1.format(currentTime_2); 
    得到的结果是 
    2002-02-19和115324(11点53分24秒)

    实现:
    java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd-H-mm-ss"); 
    java.util.Date currentTime_1 = new java.util.Date();
    String str_date = formatter.format(currentTime_1); 
    StringTokenizer token = new StringTokenizer(str_date,"-"); 
    String year = token.nextToken();
    String month= token.nextToken();
    String day = token.nextToken(); 
    String hh = token.nextToken(); 
    String mm = token.nextToken(); 
    String ss = token.nextToken(); 
    String riqi=year+"年\\"+month+"月"+day+"日"+"  "+hh+"点\\"+mm+"分"+ss+"秒\\"; 
    String newdir=year+month+day; 
    String wenjian = hh+mm+ss;

7.  怎么得到一个月的天数?
    
        java.util.Calendar date = java.util.Calendar.getInstance();
        System.out.println(date.getActualMaximum(date.DAY_OF_MONTH));点此在新窗口浏览图片

回到帖子顶部
个人信息
  • 荣誉+3
  • 荣誉+2
  • 荣誉+1
  • 荣誉-1
  • 荣誉-2
  • 荣誉-3
发表留言
  • 文章不错!
  • 精华好文!
  • 支持原创文章!
  • 帖子图文并茂,好!
  • 真知灼见,说得好!
  • 恶意广告
  • 违规内容
  • 严重灌水
  • 重复发帖
  • 标题党
你确定要删除此楼层吗
扣20点经验值