zoukankan      html  css  js  c++  java
  • 【invoke】反射调用方法+日期常用格式处理

    package com.xiaobing;
    
    import java.lang.reflect.Method;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class GetTime {
        public static String getNewTime(int s){
            long ms = 0;
            SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
            String start_time = sdf.format(new Date());
            System.out.println("开 始 时 间:"+start_time);
            try {
                //s转为ms
                ms = sdf.parse(start_time).getTime()+s*1000;
            } catch (Exception e) {
                e.printStackTrace();
            }
            Date date = new Date(ms);
            System.out.println("时间提前1月:"+sdf.format(date));
    
            Calendar calendar = Calendar.getInstance();//日历对象
            calendar.setTime(date);//设置当前日期
            calendar.add(Calendar.MONTH, -1);//月份减一
            calendar.add(Calendar.DAY_OF_MONTH, -1);//日减一
            System.out.println("当前延后"+s+"s:"+sdf.format(calendar.getTime()));//输出格式化的日期
    
            String end_time = sdf.format(new Date());
            long ms2 = 0;
            try {
                ms2 = sdf.parse(end_time).getTime() - sdf.parse(start_time).getTime();
            } catch (Exception e) {
                e.printStackTrace();
            }
            System.out.println("end_time and start_time 耗时:"+ms2 +"ms");
            return sdf.format(calendar.getTime());
    
        }
    }
    
    class Test{
        public static void main(String[] args) throws  Exception {
            String className = "com.xiaobing.GetTime";
            String methodName = "getNewTime";
            Class clz = Class.forName(className);
            Object obj = clz.newInstance();
            //获取方法
            Method m = obj.getClass().getDeclaredMethod(methodName, int.class);
            //调用方法
            String  result = (String)m.invoke(obj, 1);
            System.out.println("反射调用方法:"+result);
        }
    }
    开 始 时 间 :  2021-11-26 11:22:40
    时间提前1月:2021-12-27 11:22:41
    当 前 延后1s: 2020-11-26 11:22:41
    end_time and start_time 耗时:0ms
    反射调用方法: 2020-11-26 11:22:41
  • 相关阅读:
    sql server delete语句
    sql server 通配符
    sql server join联结
    windows下如何使用两个版本的nodejs
    PHP的Trait 特性
    PHP错误与异常处理try和catch
    laravel belongsTo()&hasOne()用法详解
    Laravel Model 的 fillable (白名单)与 guarded (黑名单)
    js原生,缓动动画封装
    js原生轮播图
  • 原文地址:https://www.cnblogs.com/xiaozhaoboke/p/15606862.html
Copyright © 2011-2022 走看看