Какое значение для даты формулы() - день (дата()) + 1?Как выполняется расчет даты обработки foxpro? (исходя из java) результата для даты() - день (дата()) + 1 операция?
если даты (возвратов) '2016/5/5'
это, 2016/5/1? или 2016/4/29?
потому что при преобразовании кода из visual foxpro в java?
следующий код дает отличный результат.
Calendar today2 = Calendar.getInstance();
Calendar endDate = Calendar.getInstance();
endDate.add(Calendar.DATE, -1 * today2.get(Calendar.DATE));
endDate.add(Calendar.DATE, 1);
выше код производит 2016/5/1, в то время как:
Calendar today2 = Calendar.getInstance();
today2.add(Calendar.DATE, 1);
Calendar endDate = Calendar.getInstance();
endDate.add(Calendar.DATE, -1 * today2.get(Calendar.DATE));
выше код производит 2016/4/29.
не уверены, какое преобразование верное?
@vimsliu, хотя Цетин предлагает большие детали/разъяснения в своем ответе, осторожно, если вы действительно имеете дело с полем даты/времени. Если это так, добавление числового значения, например 1, фактически является секундой для поля даты/времени, поэтому для добавления 1 минуты будет +60. 1 час будет 60 * 60. Но вы хотели по дате, и я просто хотел уточнить В СЛУЧАЕ, что вы имели дело с полем даты/времени. – DRapp
В случае DateTime начало месяца будет таким же, вы должны были бы отнести его к дате, а математика останется тем же :) cast (theDateTime as Date) - day (theDateTime) +1. –