用 SimpleDateFormat 转时间的时候出现 错误:理论上要转为 整点,但是事与愿违 莫名其妙搞出了分钟

SimpleDateFormat 转时间出现错误

    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        String format = sf.format(sf.parse("2019-03-22 08:00").getTime() + Integer.parseInt("597") * 60 * 60 * 1000);
        System.out.println(format);
        Date d = sf.parse(format);
        GregorianCalendar gc = new GregorianCalendar();
        gc.setTime(d);
        if ((gc.get(12) == 0) && (gc.get(13) == 0))
            System.out.println("整点");
        else System.out.println("不是整点");

    }

解决方案:
将类型变为long类型
String format = sf.format(sf.parse("2019-03-22 08:00").getTime() + Integer.parseInt("597") * 60 * 60 * 1000L);
SimpleDateFormat 转时间出现错误
成功搞定,就是这么酸爽!

相关文章: