• 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 ";
        }



     

     

  • 相关阅读:
    QT之sqlite连接
    QT之QCustomPlot(二)
    QT之QCustomPlot(一)
    Qt第三方库QCustomPlot——QCustomPlot解读
    C++ 头文件系列(sstream)
    C++ 头文件系列(streambuf)
    C++ 头文件系列(iostream)
    C++ 头文件系列(ostream)
    C++ 头文件系列(istream)
    C++ 头文件系列(ios)
  • 原文地址:https://www.cnblogs.com/jimmy-muyuan/p/5353100.html
Copyright © 2020-2023  润新知