小编Doe*_*ute的帖子

Android日历返回错误的月份编号

我正在开发一个函数来比较一些sqlite存储日期的周数和当前日期的周数.

但是Calendar类的set(y,m,d)方法总是返回一个月号错误的日期,在我的情况下,它返回一个日期,其中月份设置为7月而不是6月.

这是我的代码片段:

//Date depuis SQLite/Grab date from SQLite
String[] tokens = extraireTokensDate(s.getDateHeure());

//Comparaison semaine/Week compare
Calendar cal1 = Calendar.getInstance();
Date date = new Date();
cal1.setTime(date);

Log.d("DEBUG", "DATE SQL : "+Integer.parseInt(tokens[0])+" "+Integer.parseInt(tokens[1])+" "+Integer.parseInt(tokens[2]));
Calendar cal2 = Calendar.getInstance();
cal2.set(Integer.parseInt(tokens[0]), Integer.parseInt(tokens[1]), Integer.parseInt(tokens[2]));

SimpleDateFormat sdf = new SimpleDateFormat("W) dd/MM/yyyy");

Log.d("DEBUG", "(Actuel/Now) DATE : "+sdf.format(cal1.getTime()));
Log.d("DEBUG", "(Actuel/Now) Numero de semaine (annee/year) : "+cal1.get(Calendar.WEEK_OF_YEAR));    
Log.d("DEBUG", "(Passe/Past) DATE : "+sdf.format(cal2.getTime()));
Log.d("DEBUG", "(Passe/Past) Numero de semaine (annee/year) : "+cal2.get(Calendar.WEEK_OF_YEAR));
Run Code Online (Sandbox Code Playgroud)

调试器的输出(日期是法语格式化)

06-12 19:32:37.035: DEBUG/DEBUG(5777): DATE SQL : 2011 …
Run Code Online (Sandbox Code Playgroud)

java android calendar

2
推荐指数
1
解决办法
5323
查看次数

标签 统计

android ×1

calendar ×1

java ×1