Нет дней между 2 датами - PullRequest
0 голосов
/ 19 апреля 2019

В примерах данных у меня есть даты тура по сотрудникам с разбивкой по месяцам, отсортированные по датам в порядке возрастания. Я хотел бы рассчитать дни. Любое предложение формулы, пожалуйста?

Условия: 1. 1 дата на 1 месяц и 1 сотрудник 2. Следует также указать дату начала.

Из приведенного ниже примера я могу объяснить мои требования к одному сотруднику № 1531. Все мои даты в формате ДД / ММ / ГГГГ.

| 1531 | 3-4-2018  | 3-4-2018 | 4    |
| 1531 | 3-4-2018  | 4-4-2018 | 4    |
| 1531 | 3-4-2018  | 7-4-2018 | 4    |
| 1531 | 22-4-2018 | 2-5-2018 | 4    |
| 1531 | 3-5-2018  | 4-5-2018 | 5    |
| 1532 | 1-4-2018  | 2-4-2018 | 4    |
| 1532 | 22-4-2018 | 2-5-2018 | 4    |
| 1532 | 3-5-2018  | 4-5-2018 | 5    |

1531 служащий начал свою поездку 03/04/2018 и закончил в тот же день для одного местоположения. Снова он начал в тот же день 03/04/2018 и завершил 04/04/2018 для 2-го места. Опять же, человек упомянул, что он начал 03/04/2018 и закончил 07/04/2018 в другом месте. В вышесказанном указали дату 03/04/2018 трижды, что было неверно, но из-за того, что я не могу остановить это в заявке, записи были сделаны сотрудником неправильно. Поэтому я хочу, чтобы Excel считал дату 03/04/2018 единовременной при расчете дней. Я старался изо всех сил, чтобы прибыть дни, но не смог. Я приложил мою формулу в виде отдельного файла для вашей доброй ссылки. Пожалуйста, посмотрите на это и дайте решение. Даже эту формулу я получил только от одного члена переполнения стека. В этом мне было неудобно получать динамическую дату начала.

Я уже задавал подобный вопрос ранее, но я не получил никакого ответа вопреки моим ожиданиям

1 Ответ

0 голосов
/ 19 апреля 2019

Попробуйте сделать Date 1 - Date 2. Большинство библиотек на большинстве языков должны иметь переопределенный оператор -. Если нет, преобразуйте обе даты в метки времени эпохи (секунды), а затем разделите их на (24 * 60):

Date Date1 = new Date(03/04/2018);
Date Date2 = new Date(04/04/2018);

int days = (Date2.toTimeStamp() - Date1.toTimeStamp()) / (24*60);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...