好吧,所以我想要做的就是設置日曆實例的日期設置,然後返回week_of_year。我使用Calendar.set()函數的設置日曆日期
public String weekInYearForm = "ww";
SimpleDateFormat formWIM = new SimpleDateFormat(weekInYearForm, Locale.US);
Calendar lc = Calendar.getInstance();
lc.set(Calendar.YEAR, lYear);
lc.set(Calendar.MONTH, lMonth);
lc.set(Calendar.DAY_OF_MONTH, lDay);
wiy = formWIM.format(lc.get(Calendar.WEEK_OF_YEAR));
這樣做要得到年權,lMonth,和L天的價值觀,我在格式04/26/2013
傳遞字符串通過以下步驟:
String[] arrDate = dateIn.split("/");
int lMonth = Integer.parseInt(arrDate[0]) - 1;
Log.d("SaveHandler", "Month is: " + lMonth);
int lDay = Integer.parseInt(arrDate[1]);
Log.d("SaveHandler", "Day is: " + lDay);
int lYear = Integer.parseInt(arrDate[2]);
Log.d("SaveHandler", "Year is: " + lYear);
我面臨的問題是,當我看到什麼是輸出到wiy時,它總是1.經過一些進一步的調試,我意識到時間是在紀元時間,而不是設置爲我需要的值。
我也試過使用lc.set(lYear, lMonth, lDay)
,也無濟於事。如果有人有任何想法,我會非常感激他們。
*編輯:我早些時候做了一些調試,並且它返回了1970年的年份和0月份。
「日曆」上的'Calendar.MONTH'字段是基於0的,而不是1(正如我們習慣的那樣)。也許有你的問題。 – 2013-04-26 22:36:38
不,我曾經想過,在我嘗試設置之前就減去1。 – ubundude 2013-04-26 22:37:21
您是否必須使用Java類或使用像Joda Time這樣已經解決了所有這些問題的第三方庫? – 2013-04-26 22:39:47