[JAVA] Wenn der Monat des Datums erfasst wird, verschiebt sich der Januar

Dies ist ein häufiger Fehler, und wenn der Monat des Datums erfasst wird, tritt die Januarverschiebung auf. Spezifikationsproblem.

Für Javascript

Die Methode getMonth () gibt einen 0-basierten Wert zurück, der den "Monat" des angegebenen Datums basierend auf der Ortszeit darstellt. Sie müssen es also wie folgt formatieren

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;
}

Für Java

Zum Zeitpunkt von Calendar.MONTH muss wie oben formatiert werden

	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

Wenn der Monat des Datums erfasst wird, verschiebt sich der Januar
Wenn der Schwebeflug von Eclipse schwer zu sehen ist
In Time.strptime ist% j (Gesamtdatum des Jahres)
Bei Verwendung des Konstruktors der Date-Klasse von Java wird das Datum um 1900 vorverlegt.
Die Idee, abzuschalten, wenn der Fehler nicht behoben ist
[Schienen] Wenn die Layoutänderung des Geräts nicht berücksichtigt wird
[Swift] Ermittelt das Timing, wenn der Wert von textField geändert wird
'% 02d' Was ist der% von% 2?
Das Designkonzept der Datums- und Uhrzeit-API von Java ist interessant
Untersuchungsmethode, wenn die CPU des Servers, auf dem Java ausgeführt wird, schwer ist
Fälle, in denen Benutzer beim Bearbeiten einer App abgemeldet sind (Rails)
Fehler, wenn das in SpringWebFlux verwendete Mitglied der Entity-Klasse endgültig ist
Talend WebAPI-Lösung für Komponenten, die Cookies speichern, wenn Daten abgerufen werden
Wenn der Bean-Klassenname dupliziert wird
Was ist ein Test? ・ Über die Wichtigkeit eines Tests
LIMIT 11, wenn Daten mit irb erfasst werden
Wie ist die Datenstruktur von ActionText?
Upcast (Java), das den Änderungsbetrag reduzieren kann, wenn die Spezifikation geändert wird
[Java] Tag ab Datum berechnen (Kalenderklasse nicht verwenden)
Was ist JSP? ~ Lassen Sie uns die Grundlagen von JSP kennen !! ~
Der ActiveSupport-Unterstrich ist nicht die inverse Konvertierung von camelize
f.Validierung, wenn "Bitte auswählen" von collection_select ausgewählt ist
Die Reihenfolge der Java-Methodenmodifikatoren ist festgelegt
Das Datum und die Uhrzeit von java8 wurden aktualisiert
Der offizielle Name von Spring MVC ist Spring Web MVC
Die Geschichte der Initialisierung von Money :: Currency während des Testens
Wenn das Projekt nicht in Eclipse angezeigt wird