Was ist der korrekte Wert für die Formel date() - day (date()) + 1?Wie verarbeitet visual foxpro die Datumsberechnung? (kommt aus Java) Ergebnis für Datum() - Tag (Datum()) + 1 Operation?
, wenn das Datum() zurückkehrt '2016.05.05'
es ist, 2016.05.01? oder 2016/4/29?
weil beim Konvertieren von Code von Visual Foxpro zu Java?
folgender Code erzeugt unterschiedliches Ergebnis.
Calendar today2 = Calendar.getInstance();
Calendar endDate = Calendar.getInstance();
endDate.add(Calendar.DATE, -1 * today2.get(Calendar.DATE));
endDate.add(Calendar.DATE, 1);
obigen Code erzeugt 2016.05.01, während:
Calendar today2 = Calendar.getInstance();
today2.add(Calendar.DATE, 1);
Calendar endDate = Calendar.getInstance();
endDate.add(Calendar.DATE, -1 * today2.get(Calendar.DATE));
oben Code 2016.04.29 erzeugt.
nicht sicher, welche Konvertierung korrekt ist?
:
übersetzen soll @vimsliu, obwohl Cetin in seiner Antwort sehr ausführlich/klar ist, sei vorsichtig, wenn du dich tatsächlich mit einem Datum/Zeit-Feld beschäftigst. Wenn dies der Fall ist, ist das Hinzufügen von Zahlen wie 1 tatsächlich Sekunden zu dem Datum/Uhrzeit-Feld, so dass 1 Minute +60 wäre. 1 Stunde wäre 60 * 60. Aber du wolltest nach Datum und ich wollte nur klarstellen, IM Fall, dass du es mit einem Datum/Zeit-Feld zu tun hast. – DRapp
Im Falle einer DateTime wäre der Beginn des Monats derselbe, Sie würden es auf ein Datum umwandeln und die Mathematik bleibt gleich :) cast (theDateTime as Date) - Tag (theDateTime) +1. –