Un bug courant qui provoque un décalage de janvier lors de l'obtention du mois de la date. Problème de spécification.
La méthode getMonth () renvoie une valeur basée sur 0 qui représente le "mois" de la date spécifiée, en fonction de l'heure locale. Vous devez donc le formater comme ci-dessous
function getTiffFileName(areaID, pointID, theme, func){
	var temple = config.tiff_file_name_format;
	var date = new Date();
	//var date = new Date('October 3, 2019 11:02:20');
	return temple.split('{areaID}').join(areaID)
		.split('{pointID}').join(pointID)
		.split('{theme}').join(theme)
		.split('{func}').join(func)
		.split('{yyyy}').join(date.getFullYear())
		.split('{mm}').join(dateToString(date.getMonth() + 1))
		.split('{dd}').join(dateToString(date.getDate()))
		.split('{HH}').join(dateToString(date.getHours()))
		.split('{MM}').join(dateToString(date.getMinutes()))
		.split('{SS}').join(dateToString(date.getSeconds()))
		.split('{TT}').join(date.getTime());
}
function dateToString(val){
	if(val < 10){
		val = '0' + val;
	}
	return val;
}
Au moment de Calendar.MONTH, il est nécessaire de formater comme ci-dessus
	private String getBinaryFileName(){
		Calendar calendar = Calendar.getInstance();
		String yyyy = toString(calendar.get(Calendar.YEAR),4);
		String mm = toString(calendar.get(Calendar.MONTH) + 1,2);
		String dd = toString(calendar.get(Calendar.DAY_OF_MONTH),2);
		String HH =  toString(calendar.get(Calendar.HOUR_OF_DAY),2);
		String MM = toString(calendar.get(Calendar.MINUTE),2);
		String SS = toString(calendar.get(Calendar.SECOND),2);
		String TT = Integer.toString(calendar.get(Calendar.MILLISECOND));
		return RelayConst.tsunamiinfo_fortiff_path + RelayConst.tsunamiinfo_fortiff_format.replaceAll("\\{yyyy\\}", yyyy)
				.replaceAll("\\{mm\\}", mm)
				.replaceAll("\\{dd\\}", dd)
				.replaceAll("\\{HH\\}", HH)
				.replaceAll("\\{MM\\}", MM)
				.replaceAll("\\{SS\\}", SS)
				.replaceAll("\\{TT\\}", TT);
	}
	private String toString(int val, int digits) {
		String str = Integer.toString(val);
		if (str.length() > digits) {
			str = str.substring(str.length() - digits);
		}
		while (str.length() < digits) {
			str = "0" + str;
			}
			return str;
		}
        Recommended Posts