在日历安卓中设置日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在日历安卓中设置日期相关的知识,希望对你有一定的参考价值。

我不是常见的android程序员,也不太明白为什么会这样:

Calendar c = Calendar.getInstance();
    c.set(Calendar.YEAR, anio);
    c.set(Calendar.MONTH, mes);
    c.set(Calendar.DAY_OF_MONTH, dia);
    c.set(Calendar.HOUR, hora);
    c.set(Calendar.MINUTE, minuto);
    c.set(Calendar.SECOND, 0);
    c.set(Calendar.MILLISECOND, 0); 
    Log.i("ET", "Day: " +  dia );
    Log.i("ET", "CalDAy: " +  c.get(Calendar.DAY_OF_MONTH));
    SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy hh:mm");
    Log.i("ETCalendar", "Tactual "+ formatter.format(c.getTimeInMillis()));
    return c.getTimeInMillis();

这是LogCat:

I/ET(27819): Day: 16 11-16 19:13:38.656: 
I/ET(27819): CalDAy: 17 11-16 19:13:38.656: 
I/ETCalendar(27819): 4Tactual 17/11/2013 07:13

想到一个可能的解决方案是:

c.set(Calendar.DAY_OF_MONTH, dia - 1);

但那会有用吗?

谢谢!

答案

问题是HOUR用于定义12小时格式的小时。

更改您的代码:

calendar.set(Calendar.HOUR, hour);

至:

calendar.set(Calendar.HOUR_OF_DAY, hour);

以上是关于在日历安卓中设置日期的主要内容,如果未能解决你的问题,请参考以下文章

用于在 Chrome 中设置 HTML5 日期输入日历样式的 CSS

如何使用 Jquery 在 DatePicker 中设置昨天的日期

如何在日期选择器对话框中设置日期限制

如何在选项卡式活动中设置片段从右到左开始

如何在 BigQuery 中设置动态会计日期范围?

如何在swift中设置每周本地通知