java Date转Double

    /**
     * 时间转double
     *
     * @param date
     * @return 返回值类似:43322.3770190278
     */
    public static double date2Double(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        long localOffset = -(calendar.get(Calendar.ZONE_OFFSET) + calendar.get(Calendar.DST_OFFSET));
        double dd = (double) (date.getTime() - localOffset) / 24 / 3600 / 1000 + 25569.0000000;
        //先默认保留10位小数
        DecimalFormat df = new DecimalFormat("#.0000000000");
        return Double.valueOf(df.format(dd));
    }

这个代码是优化了之前百度找到的一个方法,因为原方法date.getTimezoneOffset()已经过期,对此进行了优化。
参考链接:java Date与 double 互转

你可能感兴趣的:(java)