java - 在日历android中设置月份的日期

标签 java android calendar

我不是 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);

关于java - 在日历android中设置月份的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20024069/

相关文章:

用于棋盘的 Java 2D 数组无法正常工作

java - 避免警告 "boxing immediately unboxed to perform coercion"

r - 如何访问 timeDate 中的 "correct"假期

java - 获取String值的ArrayList的值

java - 在springboot上使用elasticsearch查询

java - 如何删除致命异常 : AsyncTask in android

安卓 CamcorderProfile.hasProfile NoSuchMethodError

android - 如何避免 <input/> 字段显示 `next` 选项而不是 `go`(在移动键盘上)

c# - 在 Lotus Notes 日历中获取位置的 ""值

java - 用 Java 扩展日历