zoukankan      html  css  js  c++  java
  • Java 时间工具类

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

     1.Calendar 转化 String 

     //获取当前时间的具体情况,如年,月,日,week,date,分,秒等 
    Calendar calendat = Calendar.getInstance();

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

    String dateStr = sdf.format(calendar.getTime());


    2.String 转化Calendar

    String str="2010-5-27";
    SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");

    Date date =sdf.parse(str);

    Calendar calendar = Calendar.getInstance();

    calendar.setTime(date);

    3.Date 转化String

    SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");

    String dateStr=sdf.format(new Date());

    4.String 转化Date
    String str="2010-5-27";

    SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");

    Date birthday = sdf.parse(str);

    5.Date 转化Calendar

    Calendar calendar = Calendar.getInstance();
    calendar.setTime(new java.util.Date());

    6.Calendar转化Date

    Calendar calendar = Calendar.getInstance();
    java.util.Date date =calendar.getTime();

    7.Date 转成 String

    System.out.println(sdf.format(new Date())); 

    8.String 转成 Timestamp

    Timestamp ts = Timestamp.valueOf("2011-1-14 08:11:00");

    9.Timestamp 转成 String

    sdf.format(ts);

    TimestampDate多数用法是一样的。

    10.Date TimeStamp

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

    String time = df.format(new Date());

    Timestamp ts = Timestamp.valueOf(time);

    11.日期比较大小

    String ti="2010-11-25 20:11:00";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    Date time=sdf.parse(ti);

    String ti2="2011-11-26 20:11:00";
    Date time2=sdf.parse(ti2);

    int c=ti2.compareTo(ti);
    if(c>0){
        System.out.println(ti+"大");
    }else if(c==0){

        System.out.println("一样大");

    }else{
        System.out.println(ti2+"大");
    }

    12.Date/ Timestamp 转成 Calendar 

    Calendar calendar = Calendar.getInstance();
    calendar.setTime(startDate);

    calendar.add(Calendar.YEAR, 2);   //日期加2年
    System.out.println(calendar.getTime());
    calendar.add(Calendar.DATE, -30);     //日期加30天
    System.out.println(calendar.getTime());
    calendar.add(Calendar.MONTH, 3);  //日期加3个月
    System.out.println(calendar.getTime());

    13.将毫秒数转为String

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Timestamp scurrtest = new Timestamp(millis);
    String time=sdf.format(scurrtest);

                  public static String convert(Timestamp time) {

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

                         String result = df.format((Date) time);

                         return result;

                  }

             

                  public static Timestamp getNow() {

                         Date date = new Date();

                         SimpleDateFormat simDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

                         Timestamp now=Timestamp.valueOf(simDate.format(date));

                         return now;

                  }

                 

             

                  public static String dateConvertToString(Date date){

                         SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd ");

                         String time = formatter.format(date);//格式化数据

                         return time;

                  }

        //根据传入的日期计算距今多少天

        public static Integer getValidDays(Date date){
            int days=0;
            Date now=new Date();
            int i = now.compareTo(date);
            if (i>0) {
              return 0;
            }else{
              days = (int) Math.abs((now.getTime() - date.getTime())
              / (24 * 60 * 60 * 1000));
            }

           return days;
         }

          

            

                  public static Long  getTime(){

                           Date dt= new Date();

                           Long time= dt.getTime();

                         return time;

                  }

                 

                

                  public static Calendar convertToCalendar(String date) throws ParseException{

                         Date d = new SimpleDateFormat("yyyy-MM-dd").parse(date);

                         Calendar cal=Calendar.getInstance();

                         cal.setTime(d);

                         return cal;

                        

                  }

          

                 

                  public static void main(String[] args) throws ParseException { 

                          Calendar now = Calendar.getInstance(); 

                          System.out.println("年: " + now.get(Calendar.YEAR)); 

                          System.out.println("月: " + (now.get(Calendar.MONTH) + 1) + ""); 

                          System.out.println("日: " + now.get(Calendar.DAY_OF_MONTH)); 

                          System.out.println("时: " + now.get(Calendar.HOUR_OF_DAY)); 

                          System.out.println("分: " + now.get(Calendar.MINUTE)); 

                          System.out.println("秒: " + now.get(Calendar.SECOND)); 

                          System.out.println("当前时间毫秒数:" + now.getTimeInMillis()); 

                          System.out.println("当前月的天数:" + now.getActualMaximum(Calendar.DATE)); 

                    

                          System.out.println(now.getTime()); 

                         

                          //给定日期查看最大数

                          now.set(Calendar.YEAR,2002);  

                          now.set(Calendar.MONTH,6);//7月  

                          int   maxDate   =   now.getActualMaximum(Calendar.DATE);

                   

                          Date d = new Date(); 

                          System.out.println(d); 

                          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

                          String dateNowStr = sdf.format(d); 

                          System.out.println("格式化后的日期:" + dateNowStr); 

                           

                          String str = "2012-1-13 17:26:33";  //要跟上面sdf定义的格式一样 

                          Date today = sdf.parse(str); 

                          System.out.println("字符串转成日期:" + today); 

               }  

    /**
    * 计算两个日期之间的天数
    */
    public class DateUtils {
    public static Integer daysBetween(Date smdate, Date bdate){
    try{
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    smdate=sdf.parse(sdf.format(smdate));
    bdate=sdf.parse(sdf.format(bdate));
    Calendar cal = Calendar.getInstance();
    cal.setTime(smdate);
    long time1 = cal.getTimeInMillis();
    cal.setTime(bdate);
    long time2 = cal.getTimeInMillis();
    long between_days=(time2-time1)/(1000*3600*24);
    return Integer.parseInt(String.valueOf(between_days));
    }catch (Exception e){
    throw new RuntimeException("The Date sub error");
    }
    }

    /**
    * 自然年加法
    * @param date
    * @return
    */
    public static Date getAddDate(Date date,Integer year){
    try{
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    calendar.add(Calendar.YEAR, year);
    date = calendar.getTime();
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
    String dateStr = simpleDateFormat.format(date);
    Date parse = simpleDateFormat.parse(dateStr);
    return parse;
    }catch (Exception e){
    throw new RuntimeException("The Date add error");
    }
    }

        /**
         *
         * @param 要转换的毫秒数
         * @return 该毫秒数转换为 * days * hours * minutes * seconds 后的格式
         * @author fy.zhang
         */
        public static String formatDuring(long mss) {
            long days = mss / (1000 60 60 24);
            long hours = (mss % (1000 60 60 24)) / (1000 60 60);
            long minutes = (mss % (1000 60 60)) / (1000 60);
            long seconds = (mss % (1000 60)) / 1000;
            return days + " days " + hours + " hours " + minutes + " minutes "
                    + seconds + " seconds ";
        }



     

     

  • 相关阅读:
    leetcode108 Convert Sorted Array to Binary Search Tree
    leetcode98 Validate Binary Search Tree
    leetcode103 Binary Tree Zigzag Level Order Traversal
    leetcode116 Populating Next Right Pointers in Each Node
    Python全栈之路Day15
    Python全栈之路Day11
    集群监控
    Python全栈之路Day10
    自动部署反向代理、web、nfs
    5.Scss的插值
  • 原文地址:https://www.cnblogs.com/jimmy-muyuan/p/5353100.html
Copyright © 2011-2022 走看看