Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.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 重置其他字段后,如何重置日历对象中的时间参数?_Java_Android - Fatal编程技术网

Java 重置其他字段后,如何重置日历对象中的时间参数?

Java 重置其他字段后,如何重置日历对象中的时间参数?,java,android,Java,Android,我获取当前的Calendar对象并记录其值 Calendar now = Calendar.getInstance(); Log.v(TAG,now.toString()) 我现在将时间设置为now并记录值 now.set(Calendar.HOUR, 20 % 12); now.set(Calendar.MINUTE,00); now.set(Calendar.HOUR_OF_DAY,20); now.set(Calendar.SECOND,0); now.set(Calendar.MILL

我获取当前的
Calendar
对象并记录其值

Calendar now = Calendar.getInstance();
Log.v(TAG,now.toString())
我现在将时间设置为
now
并记录值

now.set(Calendar.HOUR, 20 % 12);
now.set(Calendar.MINUTE,00);
now.set(Calendar.HOUR_OF_DAY,20);
now.set(Calendar.SECOND,0);
now.set(Calendar.MILLISECOND,0);
Log.v(TAG,now.toString())
当我并排比较这两个日志时,我看到了不同之处

java.util.GregorianCalendar[time=1498086510685,areFieldsSet=true... 
java.util.GregorianCalendar[time=?,areFieldsSet=false... 
所有其他字段似乎都相同

我想我有两个问题

  • 如何将时间设置为正确的值
  • 如果我重置
    时间
    参数,是否会自动设置
    arefieldset

    如果您已经阅读了
    java.util.Calendar
    的Javadocs,您应该会看到

    set(f,value)
    将日历字段
    f
    更改为
    value
    。此外,它还设置了一个内部成员变量,以指示日历字段
    f
    已更改。尽管日历字段
    f
    会立即更改,但在下次调用
    get()
    getTime()
    getTimeInMillis()
    add()
    roll()
    之前,不会重新计算日历的
    时间值(以毫秒为单位)

    调用指定的函数之一