Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 公历12小时24小时混乱_Java_Mysql - Fatal编程技术网

Java 公历12小时24小时混乱

Java 公历12小时24小时混乱,java,mysql,Java,Mysql,我使用GregorianCalendar获取时间值 public class Tester { public static void main(String[] args) { Calendar cal = GregorianCalendar.getInstance(); cal.set(Calendar.HOUR, 12); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SE

我使用GregorianCalendar获取时间值

public class Tester {

    public static void main(String[] args) {
        Calendar cal = GregorianCalendar.getInstance();
        cal.set(Calendar.HOUR, 12);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        cal.set(Calendar.AM_PM, Calendar.AM);
        System.out.println(cal.getTimeInMillis() + " " + cal);
    }
}

当我在mysql查询中使用cal.getTimeInMillis()时,它将时间解释为中午12点。我的理解正确吗?或者如何设置正确的时间?

HOUR
AM\u PM
组合在一起设置12小时时钟中的时间。例如,您的用例:

cal.set(Calendar.HOUR, 12);
cal.set(Calendar.AM_PM, Calendar.AM);
将时间设置为中午。或者,您可以使用
HOUR\u OF_DAY
来使用24小时时钟:

cal.set(Calendar.HOUR_OF_DAY, 12);

实际上,您必须将小时设置为0表示午夜,12表示中午

试试下面的代码

cal.set(Calendar.AM_PM, Calendar.AM);
cal.set(Calendar.HOUR, 0);
或者第二种方法是

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);   

除了“12 AM”应该是午夜。在文档中可以找到Calendar.HOUR的可能值为0-11