[英]Set day of month in calendar android
我不是常見的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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.