zoukankan      html  css  js  c++  java
  • java 格式化时间计算

    package com.roshi.utils.common;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    public class DateUtilsCom {
    /**
    * 格式化时间 
    * @param date
    * @return
    * @author lzq
    * @throws ParseException 
    * @date 2016年10月14日
    */
    public static String timeFormat(Date date) throws ParseException{
    SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd");
    String str="";
       long from = date.getTime();  
       String d=new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());
       long to = simpleFormat.parse(d).getTime();  
       int day = (int) ((to - from)/(1000 * 60 * 60 * 24));  
      // long hour=(l/(60*60*1000)-day*24);
       day = Math.abs(day);
       if(day==0){
     str="今天";
       }
       if(day>0&&day<=6){
        str=day+"天";
       }
       if(day>6&&day<30){
        str=day/7+"周";
       }
       if(day>=30){
        long a = day/30;
        str=a+"个月";
        if(a>=12){
        str=a/12+"年";
        }
       }
    return str;
    }
    /**
    * 格式化时间 
    * @param date
    * @return
    * @author lzq
    * @throws ParseException 
    * @date 2016年10月14日
    */
    public static String timeFormat(String time) throws ParseException{
    SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd");
    String str="";
       long from = simpleFormat.parse(time).getTime();  
       String d=new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());
       long to = simpleFormat.parse(d).getTime();  
       int day = (int) ((to - from)/(1000 * 60 * 60 * 24));  
      // long hour=(l/(60*60*1000)-day*24);
       day = Math.abs(day);
       if(day==0){
     str="今天";
       }
       if(day>0&&day<=6){
        str=day+"天";
       }
       if(day>6&&day<30){
        str=day/7+"周";
       }
       if(day>=30){
        long a = day/30;
        str=a+"个月";
        if(a>=12){
        str=a/12+"年";
        }
       }
    return str;
    }
    public static void main(String [] args) throws ParseException{
            String d1 = "2016-10-14";
            String d2 = "2016-10-15";
             
            /* 先转成毫秒并求差 */
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String d=new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());
            long m = sdf.parse(d).getTime()- sdf.parse(d2).getTime();
             
            /* 根据你的需求进行单位转换 */
            System.out.println("相差毫秒数:"+ m );
            System.out.println("相差天数:"+ ( m / (1000 * 60 * 60 * 24) ) );
    String strDate = "2016-10-25";
    Date date=sdf.parse(strDate);
    System.out.println(timeFormat("2016-10-13"));
    }
    }
  • 相关阅读:
    解剖PetShop系列之六PetShop表示层设计
    解剖PetShop系列之五PetShop之业务逻辑层设计
    用memset给一个char设置0xff,然后将该char和0xff ==,能相等么?
    用gdb如何查看指定地址的内存内容?
    Open a pipe will block if other side hasn't opened this pipe
    inet_aton和inet_pton的区别
    很多源码中看到的ignore SIGCHLD信号是做什么用的?
    Linux下getopt函数使用Tips
    Linux下编译一个静态链接的程序的注意点
    Linux 脚本和程序对SIGINT的处理方案,脚本通过kill给程序传递信号
  • 原文地址:https://www.cnblogs.com/lizuoqi/p/5977771.html
Copyright © 2011-2022 走看看