Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.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
Android 无法强制日历更改其时间_Android_Parsing_Calendar_Simpledateformat - Fatal编程技术网

Android 无法强制日历更改其时间

Android 无法强制日历更改其时间,android,parsing,calendar,simpledateformat,Android,Parsing,Calendar,Simpledateformat,我正在尝试获取当前日期并将时间设置为20:00 我可以得到它,我的代码没有设置时间,但也没有错误。如果我调试它,小时数仍然是当前时间。你们能帮帮我吗 Calendar cal = Calendar.getInstance(); String monthS = toString().valueOf(cal.get(Calendar.MONTH)); String dayS = toString().valueOf(cal.get(Calendar.DAY_OF_MONTH));

我正在尝试获取当前日期并将时间设置为20:00 我可以得到它,我的代码没有设置时间,但也没有错误。如果我调试它,小时数仍然是当前时间。你们能帮帮我吗

 Calendar cal = Calendar.getInstance();
    String monthS = toString().valueOf(cal.get(Calendar.MONTH));
    String dayS = toString().valueOf(cal.get(Calendar.DAY_OF_MONTH));
  //  int hourI = cal.get(Calendar.HOUR_OF_DAY);
  //  int minI = cal.get(Calendar.MINUTE);
    String yearS = toString().valueOf(cal.get(Calendar.YEAR));






    SimpleDateFormat sdf = new SimpleDateFormat("MMM dd HH:mm yyyy");
    try
    {
        cal.setTime(sdf.parse(monthS + " " + dayS + " " + "20:00" + yearS));

    } catch (ParseException e)
    {
        e.printStackTrace();
    }
试试这个

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 20);
cal.set(Calendar.MINUTE, 00);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
试试这个

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 20);
cal.set(Calendar.MINUTE, 00);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);

如果月份为X(1),请尝试
M
,如果月份为XX(01),请尝试
M


MMM
表示
1月…12月
而不是
MMM
如果月份是X(1),则尝试
M
,如果月份是XX(01),则尝试
MM

MMM
代表
Jan…Dec

我用这个固定了它

Calendar cal = Calendar.getInstance();
    long currentMil = cal.getTimeInMillis();
    int hourI = cal.get(Calendar.HOUR_OF_DAY);

    while (hourI <19)
    {
        currentMil = currentMil + ONE_HOUR;
        hourI ++;
    }
    System.out.println(currentMil);
Calendar cal=Calendar.getInstance();
long currentMil=cal.gettimeinmilis();
int hourI=cal.get(日历小时);
而(hourI我用这个来修复它

Calendar cal = Calendar.getInstance();
    long currentMil = cal.getTimeInMillis();
    int hourI = cal.get(Calendar.HOUR_OF_DAY);

    while (hourI <19)
    {
        currentMil = currentMil + ONE_HOUR;
        hourI ++;
    }
    System.out.println(currentMil);
Calendar cal=Calendar.getInstance();
long currentMil=cal.gettimeinmilis();
int hourI=cal.get(日历小时);

while(hourI)小时现在已更改,thnx。只有一个问题时间(毫秒sinds 1970)未更改。是否有方法也更改这些校准设置(Calendar.SECOND,0);也可以尝试校准设置(Calendar.millisond,0);接近,但不完全是我要找的。我想知道,如果是20:00,sinds 1970已经超过了多少毫秒。现在是14:17,毫秒,或者日历的时间变量,是1446729472000,现在是cal。我将小时改为20:00,但毫秒停留在1446729472000,而不是如果是20:00,小时现在变了多少d、 thnx.只有一个问题时间(从1970年起的毫秒)没有改变。有没有办法也改变设置Calendar.SECOND(日历秒,0);也可以尝试设置Calendar.SECOND(日历秒,0);接近,但不完全是我要找的。我想知道,如果是20:00,sinds 1970已经超过了多少毫秒。现在是14:17,毫秒,或者日历的时间变量,是1446729472000,现在是cal,我把小时改为20:00,但是毫秒停留在1446729472000,而不是如果是20:00,会是多少