• java工具类


    忽略两个对象之间变量名称大小写不同(这里的对象是由String转成String和LocalDateTime类型)

     public <T> T transferObjectIgnoreCase(Object obj, Class clz) {
            T result = null;
            try {
                if (obj != null && !obj.equals("")) {
                    result = (T) clz.newInstance();
                    //获取目标类的属性集合
                    Map<String, Field> destPropertyMap = new HashMap<>();
                    for (Field curField : clz.getDeclaredFields()) {
                        destPropertyMap.put(curField.getName().toLowerCase(), curField);
                    }
                    //拷贝属性
                    for (Field curField : obj.getClass().getDeclaredFields()) {
                        Field targetField = destPropertyMap.get(curField.getName().toLowerCase());
                        if (targetField != null) {
                            targetField.setAccessible(true);
                            curField.setAccessible(true);
                            if (targetField.getType() == String.class) {
                                targetField.set(result, curField.get(obj));
                            } else if (targetField.getType() == LocalDateTime.class) {
                                if(curField.get(obj)!=null){
                                    targetField.set(result, DateUtil.setValueForTime(curField.get(obj).toString()));
                                }
                            }
    
                        }
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return result;
        }
    

    特殊的时间转化(字符串转LocalDateTime) 例如:String str = "5/2/2017 4:48:49 PM";

     /**
         * 修改时间类型
         *
         * @param time
         * @return
         */
        public static LocalDateTime setValueForTime(String time) {
            Date date = stringToDate(time);
            LocalDateTime localDateTime = LocalDateTimeUtils.parseDataToLocalDateTime(date);
            return localDateTime;
        }
    
    
        /**
         * 设置字符串转Date
         *
         * @param time
         * @return
         */
        public static Date stringToDate(String time) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss z");;
            time = time.trim();
            if ((time.indexOf("/") > -1) && (time.indexOf("AM") > -1) || (time.indexOf("PM") > -1)) {
                formatter = new SimpleDateFormat("MM/dd/yyyy KK:mm:ss a", Locale.ENGLISH);
            }
            ParsePosition pos = new ParsePosition(0);
            java.util.Date ctime = formatter.parse(time, pos);
            return ctime;
        }
    
  • 相关阅读:
    PyQt5复杂控件(树控件、选项卡控件(滚动条控件、多文档控件、停靠控件)
    PyQt5单元格操作大全
    PyQt5打印机
    PyQt5剪切板操作
    PyQt5的菜单栏、工具栏和状态栏
    PyQt5日历控件及相关操作
    PyQt5控件支持拖拽方法
    《Lua程序设计》第3章 表达式 学习笔记
    Lua中的table构造式(table constructor)
    《Lua程序设计》第2章 类型与值 学习笔记
  • 原文地址:https://www.cnblogs.com/snail-gao/p/12757888.html
Copyright © 2020-2023  润新知