2015-10-03 45 views
0

所以我正在使用一些第三方庫的Android Studio中的項目。 其中之一是WeekView(https://github.com/alamkanak/Android-Week-View)。由於我是歐洲人,因此我決定在源代碼庫中將日期/時間格式更改爲更歐洲的格式(24小時格式,dd.MM而不是MM/dd)。 但是,這些改變似乎完全不影響項目。我改變的一切都沒有任何影響。我嘗試重建,重新啓動Android Studio,重建時刪除了gradle引用,沒有任何幫助。庫不更新

我需要做什麼才能讓更改生效?

我編輯的文件「/src/main/java/com/alamkanak/weekview/WeekView.java」下面(原部分被註釋掉):

public DateTimeInterpreter getDateTimeInterpreter() { 
    if (mDateTimeInterpreter == null) { 
     mDateTimeInterpreter = new DateTimeInterpreter() { 
      @Override 
      public String interpretDate(Calendar date) { 
       SimpleDateFormat sdf; 
       sdf = mDayNameLength == LENGTH_SHORT ? new SimpleDateFormat("EEEEE") : new SimpleDateFormat("EEE"); 
       try{ 
        String dayName = sdf.format(date.getTime()).toUpperCase(); 
        return String.format("%s %d.%02d", dayName, date.get(Calendar.DAY_OF_MONTH), date.get(Calendar.MONTH) + 1); //return String.format("%s %d/%02d", dayName, date.get(Calendar.MONTH) + 1, date.get(Calendar.DAY_OF_MONTH)); 
       }catch (Exception e){ 
        e.printStackTrace(); 
        return ""; 
       } 
      } 

      @Override 
      public String interpretTime(int hour) { 
       //String amPm; 
       //if (hour >= 0 && hour < 12) amPm = "AM"; 
       //else amPm = "PM"; 
       //if (hour == 0) hour = 12; 
       //if (hour > 12) hour -= 12; 
       //return String.format("%02d %s", hour, amPm); 
       return hour + ":00"; 
      } 
     }; 
    } 
    return mDateTimeInterpreter; 
} 
+0

您可以給一個代碼片段,您正在嘗試更改日期設置嗎? –

+0

@IvanV我添加了更改後的代碼 – Chester

+0

我對這個lib沒有任何的瞭解,但是要麼擴展一些適當的類,你可以使用變量shadowing,或者按照ypu的方式去做,但要讓你修改源代碼而不是一個文檔文件或其他東西(Ctrl + B),也檢查你是否修改每個時區變量的引用 – OverCoder

回答

0

我剛剛發現問題所在:庫直接從GitHub編譯。我不得不改變Gradle配置來直接編譯代碼。

0

嘗試使用SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");,然後格式化日期simpleDateFormat.format(new Date())

確保格式中的「HH」爲大寫,因爲它對應於歐洲0-23小時格式,而小寫「hh」對應於1-12格式。

更多關於它here