所以我正在使用Android Studio中的一个项目,该项目使用了一些第三方库。 其中一个是WeekView(https://github.com/alamkanak/Android-Week-View)。由于我是欧洲人,我决定在lib的源代码中将日期/时间格式更改为更欧洲的格式(24h格式,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)
尝试使用SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
,然后格式化日期simpleDateFormat.format(new Date())
确保格式中的“HH”为大写,因为它对应于欧洲0-23小时格式,而小写“hh”对应1-12格式。
有关它的更多信息here。
答案 1 :(得分:0)
我刚刚发现问题所在:该库直接从GitHub编译。我不得不改变Gradle配置来直接编译代码。