Я пытаюсь создать некоторые расписания на основе XML ниже.Это фиктивные данные, поэтому игнорируйте огромные промежутки во времени.По сути, когда код дня соответствует 0, как показано ниже, мне нужно вытащить все значения ТОЛЬКО после полуночи (00:00), отбросить остаток и увеличить день + 1. Однако, если время входа и выхода перекрывается в полночь,например, 1755-0115 в приведенном ниже примере, тогда мне все еще нужно захватить время в тот же день в файле, но жестко закодировать 1755 как 00:01 и все еще увеличивать на один день.Все остальное до полуночи все еще отбрасывается.Все блоки всегда будут в порядке, и самые ранние удары (например, 0900) - это утренние удары.
`<Employee>
<employee_id>123456</employee_id>
<day_code>0</day_code>
<day>12-01-18</day>
<block>
<in>0900</in>
<out>1526</out>
</block>
<block>
<in>1526</in>
<out>1526</out>
</block>
<block>
<in>1526</in>
<out>1740</out>
</block>
<block>
<in>1740</in>
<out>1755</out>
</block>
<block>
<in>1755</in>
<out>0115</out>
</block>
<block>
<in>0115</in>
<out>0315</out>
</block>
</Employee>`
Поэтому мне нужно, чтобы это выглядело так, когда я извлекаю данные.
'<Employee_Schedules>
<in>12-02-18-T00:01</in>
<out>12-02-18-T01:15</out>
<block>
<in>12-02-18-T01:15</in>
<out>12-02-18-T03:15</out>
</block>
</Employee_Schedules>`
Я думал о проверке двух блоков с использованием предыдущей братской функции.Проверьте, меньше ли время ввода первого блока, чем время выхода второго блока, а второй условно проверяет немедленное, что время немедленного блока меньше времени ожидания, но это не сработало слишком хорошо.
Любая помощь очень ценится!