Например: диапазон дат с 3 января 2013 года по 3 октября 2013 года.
в диапазоне выше, получает все будние дни первой недели каждых 3 месяцев. Результат будет таким: < /p>
Thu Jan 03 00:00:00 ICT 2013
Fri Jan 04 00:00:00 ICT 2013
Sat Jan 05 00:00:00 ICT 2013
Sun Jan 06 00:00:00 ICT 2013
Mon Jan 07 00:00:00 ICT 2013
Mon Apr 01 00:00:00 ICT 2013
Tue Apr 02 00:00:00 ICT 2013
Wed Apr 03 00:00:00 ICT 2013
Thu Apr 04 00:00:00 ICT 2013
Fri Apr 05 00:00:00 ICT 2013
Sat Apr 06 00:00:00 ICT 2013
Sun Apr 07 00:00:00 ICT 2013
Mon Jul 01 00:00:00 ICT 2013
Tue Jul 02 00:00:00 ICT 2013
Wed Jul 03 00:00:00 ICT 2013
Thu Jul 04 00:00:00 ICT 2013
Fri Jul 05 00:00:00 ICT 2013
Sat Jul 06 00:00:00 ICT 2013
Sun Jul 07 00:00:00 ICT 2013
Tue Oct 01 00:00:00 ICT 2013
Wed Oct 02 00:00:00 ICT 2013
< /code>
Если диапазон с 15 января 2013 года по 15 октября 2013 года, то он будет начат с 1 февраля и следующие 3 месяца, 1 мая и так далее. Учитывая диапазон дат, месяц и набор будни (понедельник -> воскресенье), мне нужно распечатать все дни, которые удовлетворяют условиям: они находятся в диапазоне дат, они являются одним из недель, и они являются разделены месяцами. К будным дням я имел в виду, что все дни недели. Приведенный выше пример - все с понедельника по воскресенье первой недели каждых 3 месяцев. Код, который я написал, может быть применен для получения с понедельника по воскресенье третьей недели каждые 2 месяца для другого примера. Месяцы тоже могут быть изменены. Вместо каждые 3 месяца, это может быть каждые 2 месяца, или 4 месяца и т. Д. Есть какой -либо метод, который будет более элегантным? Спасибо за вашу помощь, я действительно оценил это. < /P>
// set up the startCal and endCal
String fmtShowTime = "ddMMyy"; // TODO: move to configurations
SimpleDateFormat sdf = new SimpleDateFormat(fmtShowTime);
TimeZone defaultZone = TimeZone.getDefault();
sdf.setTimeZone(defaultZone);
String fromTime = "030113";
String toTime = "031013";
Date startDate = sdf.parse(fromTime);
Date endDate = sdf.parse(toTime);
Calendar startCal = Calendar.getInstance();
startCal.setTime(startDate);
Calendar endCal = Calendar.getInstance();
endCal.setTime(endDate);
// set up the condition for week and month
Integer week = Integer.parseInt("1"); // first week
Integer monthPeriod = Integer.parseInt("3"); // every 3 months
Integer counter = 0;
while (startCal.getTimeInMillis() < endCal.getTimeInMillis()) {
if (startCal.get(Calendar.DAY_OF_WEEK_IN_MONTH) == week) {
// check if the current day in loop is the day of first week in month
if (monthPeriod == 1) {
// get for every month
for (int i = 0; i < 7; i++) {
if (startCal.get(Calendar.DAY_OF_WEEK_IN_MONTH) != week || startCal.getTimeInMillis() == endCal.getTimeInMillis()) {
// break for case like Tuesday, January 8th (2nd Tuesday of January) or October 4th (range breached)
break;
}
System.out.println(startCal.getTime());
// move 1 more day
startCal.add(Calendar.DAY_OF_MONTH, 1);
}
}
else {
counter++;
if (counter % monthPeriod == 1) {
// I used counter mod monthPeriod to check if 3 months has passed in the loop, 1%3 = 1, 4%3 = 1 and so on
for (int i = 0; i < 7; i++) {
if (startCal.get(Calendar.DAY_OF_WEEK_IN_MONTH) != week || startCal.getTimeInMillis() == endCal.getTimeInMillis()) {
// break for case like Tuesday, January 8th (2nd Tuesday of January) or October 4th (range breached)
break;
}
System.out.println(startCal.getTime());
// move 1 more day
startCal.add(Calendar.DAY_OF_MONTH, 1);
}
} else {
//if it's the first week of a month but not 3 months has passed yet then I forward 7 days to pass the check for first week of the month
startCal.add(Calendar.DAY_OF_MONTH, 7);
}
}
}
startCal.add(Calendar.DAY_OF_MONTH, 1);
}
p.s, извините, если код вызвал у вас мрачный, я знаю, что это плохо
Например: диапазон дат с 3 января 2013 года по 3 октября 2013 года. в диапазоне выше, получает все будние дни первой недели каждых 3 месяцев. Результат будет таким: < /p> [code]Thu Jan 03 00:00:00 ICT 2013 Fri Jan 04 00:00:00 ICT 2013 Sat Jan 05 00:00:00 ICT 2013 Sun Jan 06 00:00:00 ICT 2013 Mon Jan 07 00:00:00 ICT 2013 Mon Apr 01 00:00:00 ICT 2013 Tue Apr 02 00:00:00 ICT 2013 Wed Apr 03 00:00:00 ICT 2013 Thu Apr 04 00:00:00 ICT 2013 Fri Apr 05 00:00:00 ICT 2013 Sat Apr 06 00:00:00 ICT 2013 Sun Apr 07 00:00:00 ICT 2013 Mon Jul 01 00:00:00 ICT 2013 Tue Jul 02 00:00:00 ICT 2013 Wed Jul 03 00:00:00 ICT 2013 Thu Jul 04 00:00:00 ICT 2013 Fri Jul 05 00:00:00 ICT 2013 Sat Jul 06 00:00:00 ICT 2013 Sun Jul 07 00:00:00 ICT 2013 Tue Oct 01 00:00:00 ICT 2013 Wed Oct 02 00:00:00 ICT 2013 < /code> Если диапазон с 15 января 2013 года по 15 октября 2013 года, то он будет начат с 1 февраля и следующие 3 месяца, 1 мая и так далее. Учитывая диапазон дат, месяц и набор будни (понедельник -> воскресенье), мне нужно распечатать все дни, которые удовлетворяют условиям: они находятся в диапазоне дат, они являются одним из недель, и они являются разделены месяцами. К будным дням я имел в виду, что все дни недели. Приведенный выше пример - все с понедельника по воскресенье первой недели каждых 3 месяцев. Код, который я написал, может быть применен для получения с понедельника по воскресенье третьей недели каждые 2 месяца для другого примера. Месяцы тоже могут быть изменены. Вместо каждые 3 месяца, это может быть каждые 2 месяца, или 4 месяца и т. Д. Есть какой -либо метод, который будет более элегантным? Спасибо за вашу помощь, я действительно оценил это. < /P> // set up the startCal and endCal String fmtShowTime = "ddMMyy"; // TODO: move to configurations SimpleDateFormat sdf = new SimpleDateFormat(fmtShowTime); TimeZone defaultZone = TimeZone.getDefault(); sdf.setTimeZone(defaultZone); String fromTime = "030113"; String toTime = "031013"; Date startDate = sdf.parse(fromTime); Date endDate = sdf.parse(toTime); Calendar startCal = Calendar.getInstance(); startCal.setTime(startDate); Calendar endCal = Calendar.getInstance(); endCal.setTime(endDate);
// set up the condition for week and month Integer week = Integer.parseInt("1"); // first week Integer monthPeriod = Integer.parseInt("3"); // every 3 months Integer counter = 0;
while (startCal.getTimeInMillis() < endCal.getTimeInMillis()) { if (startCal.get(Calendar.DAY_OF_WEEK_IN_MONTH) == week) { // check if the current day in loop is the day of first week in month if (monthPeriod == 1) { // get for every month for (int i = 0; i < 7; i++) { if (startCal.get(Calendar.DAY_OF_WEEK_IN_MONTH) != week || startCal.getTimeInMillis() == endCal.getTimeInMillis()) { // break for case like Tuesday, January 8th (2nd Tuesday of January) or October 4th (range breached) break; } System.out.println(startCal.getTime()); // move 1 more day startCal.add(Calendar.DAY_OF_MONTH, 1); } } else { counter++; if (counter % monthPeriod == 1) { // I used counter mod monthPeriod to check if 3 months has passed in the loop, 1%3 = 1, 4%3 = 1 and so on for (int i = 0; i < 7; i++) { if (startCal.get(Calendar.DAY_OF_WEEK_IN_MONTH) != week || startCal.getTimeInMillis() == endCal.getTimeInMillis()) { // break for case like Tuesday, January 8th (2nd Tuesday of January) or October 4th (range breached) break; } System.out.println(startCal.getTime()); // move 1 more day startCal.add(Calendar.DAY_OF_MONTH, 1); } } else { //if it's the first week of a month but not 3 months has passed yet then I forward 7 days to pass the check for first week of the month startCal.add(Calendar.DAY_OF_MONTH, 7); } } } startCal.add(Calendar.DAY_OF_MONTH, 1); } [/code] p.s, извините, если код вызвал у вас мрачный, я знаю, что это плохо :)
Я использую Bootstrap Datepicker со своим входным тегом HTML, а именно: который в настоящее время , без проблем отправляет дату в базу данных.
Сценарий выбора даты:
$('#event_start_date').datepicker({
format: dd/mm/yyyy ,
clearBtn: true,
autoclose:...
Я использую Bootstrap Datepicker со своим входным тегом HTML, а именно: который в настоящее время , без проблем отправляет дату в базу данных.
Сценарий выбора даты:
$('#event_start_date').datepicker({
format: dd/mm/yyyy ,
clearBtn: true,
autoclose:...
Я использую Bootstrap Datepicker со своим входным HTML-тегом, которым является . >
Раскрывающийся список представляет собой тег выбора со списком, использующим этот тег.
Я пробовал использовать этот код, казалось, что он поможет, но я не знаю, как...
Я хочу повернуть две таблицы, используя SQL Server и Php.
Таблица 1:
accountname amount dateposted
ab01 100 jan 1, 2022
ab02 100 jan 1, 2022
ab03 100 jan 1, 2023
Я пытаюсь выяснить, есть ли какие-либо вспомогательные функции или какие-либо методы, которые могут быть полезны для получения списка дат в заданном диапазоне дат.
Допустим, пользователь вводит следующие параметры, которые представляют собой...