算法不难的,就是你说的 最烦的就是要很多Fields,为了避免魔术数字,你可能需要public class FrenchRevolutionCalendar extends GregorianCalendar { //The following fields are for the MONTH public static final int VENDEMIAIRE = 0; public static final int BRUMAIRE = 1; public static final int FRIMAIRE = 2; public static final int NIVOSE = 3; public static final int PLUVIOSE = 4; public static final int VENTOSE = 5; public static final int GERMINAL = 6; public static final int FLOREAL = 7; public static final int PRAIRIAL = 8; public static final int MESSIDO = 9; public static final int THERMIDOR = 10; public static final int FRUCTIDOR = 11; public static final int LES_JOURS_DE_LANNEE = 12; //The last five days of the year //The following fields are for the DAY_OF_WEEK public static final int PRIMIDI = 0; public static final int DUODI = 1; public static final int TRIDI = 2; ........ //重新定义一下add/set/get方法,除了时间(HOUR/MINUTE/SECOND之类),还有YEAR 可以使用super方法,其他都是按照你的思路去算 }
我刚学java没多久,好多对象的调用不会 能不能帮我看一下 public static final long getDaysBetweenDates(String date1,String date2){ int y1=Integer.parseInt(date1.substring(0,4)); int m1=Integer.parseInt(date1.substring(4,6)); int d1=Integer.parseInt(date1.substring(6,8)); int y2=Integer.parseInt(date2.substring(0,4)); int m2=Integer.parseInt(date2.substring(4,6)); int d2=Integer.parseInt(date2.substring(6,8)); Date d_1=new Date(1792,9,22); Date d_2=new Date(y2,m2,d2); return Math.abs(d_2.getTime()-d_1.getTime())/86400000; }
public boolean isLeapYear(){}/判断闰年 public int year(){ } /返回FR记年 public int month(){ }/返回FR月 public int day(){ }/返回FR日这几个我不会写了
闰年出现的情况跟gregorian 的一样,也是4年一次
最烦的就是要很多Fields,为了避免魔术数字,你可能需要public class FrenchRevolutionCalendar extends GregorianCalendar {
//The following fields are for the MONTH
public static final int VENDEMIAIRE = 0; public static final int BRUMAIRE = 1; public static final int FRIMAIRE = 2; public static final int NIVOSE = 3; public static final int PLUVIOSE = 4; public static final int VENTOSE = 5; public static final int GERMINAL = 6; public static final int FLOREAL = 7; public static final int PRAIRIAL = 8; public static final int MESSIDO = 9; public static final int THERMIDOR = 10; public static final int FRUCTIDOR = 11; public static final int LES_JOURS_DE_LANNEE = 12; //The last five days of the year //The following fields are for the DAY_OF_WEEK
public static final int PRIMIDI = 0; public static final int DUODI = 1; public static final int TRIDI = 2; ........
//重新定义一下add/set/get方法,除了时间(HOUR/MINUTE/SECOND之类),还有YEAR 可以使用super方法,其他都是按照你的思路去算
}
能不能帮我看一下
public static final long getDaysBetweenDates(String date1,String date2){
int y1=Integer.parseInt(date1.substring(0,4));
int m1=Integer.parseInt(date1.substring(4,6));
int d1=Integer.parseInt(date1.substring(6,8));
int y2=Integer.parseInt(date2.substring(0,4));
int m2=Integer.parseInt(date2.substring(4,6));
int d2=Integer.parseInt(date2.substring(6,8));
Date d_1=new Date(1792,9,22);
Date d_2=new Date(y2,m2,d2);
return Math.abs(d_2.getTime()-d_1.getTime())/86400000;
}
public boolean isLeapYear(){}/判断闰年
public int year(){ } /返回FR记年
public int month(){ }/返回FR月
public int day(){ }/返回FR日这几个我不会写了
程序可能一下子在这里放不下,虽然代码没多少