java中日期处理 3【转载】

/**
     * 获取当前时间,返回时间格式(如果调用参数为true时返回yyyy-MM-dd HH:mm:ss
     * ,否则为false时返回yyyy-MM-DD不带日期格式)
     * @param time boolean
     * @return String
     * @throws Exception
     */
    public static String getNowTime(boolean time) throws java.lang.Exception {
        Date now = new Date();
        String format = "";
        //yyyy-MM-dd HH:mm:ss:S 年月日时分秒毫杪
        if (time) {
            format = "yyyy-MM-dd HH:mm:ss";
        } else {
            format = "yyyy-MM-dd";
        }
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        String nowtime = sdf.format(now);
        return nowtime;
    }

    /**
     * 将HashMap内容转入数组,
     * 示例
     *    HashMap hashMap = new HashMap();
     *    hashMap.put("ka", "bb");
     *    hashMap.put("kb", "cc");
     *    hashMap.put("jk", "fdsaf");
     *    hashMap.put("ak", "kkkkk");
     *    Object[] obj = BaseFunction.hashMapToArray(hashMap);
     *    for (int i = 0; i < obj.length; i++) {
     *        System.out.println(obj);
     *    }
     * @param param HashMap
     * @return Object[]
     */
    public static Object[] hashMapToArray(HashMap param) {
        int size = param.size();
        if (param == null || param.size() == 0) {
            return null;
        }
        Object[] obj = new Object[size];
        Set set = param.keySet();
        Iterator ite = set.iterator();
        for (int i = 0; ite.hasNext(); i++) {
            obj = param.get(ite.next());
        }
        return obj;
    }

    /**
     * 日期转字符串
     * 示例:dateToString(stringToDate(" 2005-5-2 0:0 :10"));
     * @param date Date
     * @return String
     * 返回字符串格式为“yyyy年MM月dd日 HH时mm分ss秒”或“yyyy年MM月dd日”
     * 根据输入的日期是否含有时间来确定输出格式
     */
    public static String dateToString(Date date) {
        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8"),
                                                 Locale.CHINA);
        calendar.clear();
        calendar.setTimeInMillis(date.getTime());
        String format = "";

        /*        if (calendar.get(Calendar.MILLISECOND) == 0 &&
                    calendar.get(Calendar.SECOND) == 0 &&
         calendar.get(Calendar.SECOND) == calendar.get(Calendar.MINUTE) &&
         calendar.get(Calendar.MINUTE) == calendar.get(Calendar.HOUR)) {
                    format = "yyyy'年'MM'月'dd'日'";
                } else {
                 format = "yyyy'年'MM'月'dd'日' HH'时'mm'分'ss'秒'";
                }
         */
        format = "yyyy'年'MM'月'dd'日' HH'时'mm'分'ss'秒'";
        String return_string = "";
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        //yyyy-MM-dd HH:mm:ss:S 年月日时分秒毫杪
        return_string = sdf.format(date);
        return return_string;
    }

    /**
     * 字符串转日期
     * 示例:stringToDate(" 2005-5-2 0:0 :10");
     * @param str String
     * 输入字符串日期可用三种格式
     * yyyy-MM-dd HH:mm:ss完整式
     * yyyy-MM-dd HH:mm不含秒
     * yyyy-MM-dd只有日期不含时间
     * @return Date
     * @throws Exception
     */
    public static Date stringToDate(String str) throws Exception {
        Date return_date = null;
        String format = "";
        if (str.length() > 13) {
            format = "yyyy-MM-dd HH:mm:ss";
        } else if (str.length() > 10) {
            format = "yyyy-MM-dd HH:mm";
        } else {
            format = "yyyy-MM-dd";
        }
        try {
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            return_date = sdf.parse(str);
        } catch (ParseException e) {
            throw new Exception(
                    "输入字符串的格式出错(格式为yyyy-MM-dd/yyyy-MM-dd HH:mm/yyyy-MM-dd HH:mm:ss):" +
                    e.getMessage());
        }
        return return_date;
    }

    /**
     * 连续产生指定个数的字符串
     * @param str String
     * @param count int
     * @return String
     */
    public static String continuousMakeString(String str, int count) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < count; i++) {
            sb.append(str);
        }
        return (sb.toString());
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值