Ho un compito complicato che ho battuto la testa contro il muro ora per alcuni giorni. Ho provato circa 4 approcci diversi, tuttavia ognuno sembra stallo e sta diventando estremamente frustrante.Dividere un intervallo di tempo in pezzi da altri intervalli di tempo
Ho un intervallo di tempo. Ad esempio, 14:30:00 fino alle 18:30:00. Considera questa fascia oraria il turno di lavoro di qualcuno. Durante questo intervallo di tempo, dichiarano di non poter lavorare dalle 15:30 alle 16:30 e dalle 17:30 alle 18:30. Devo modificare l'ora di inizio e di fine del turno originale per rimuovere i turni in conflitto.
L'array spostamento originale assomiglia a questo:
$original_shift[0]['start'] = '14:30:00';
$original_shift[0]['end'] = '18:30:00';
e gli intervalli del tempo per essere rimosso dallo sguardo spostamento originale così:
$subshift[0]['start'] = '15:30:00';
$subshift[0]['end'] = '16:30:00';
$subshift[1]['start'] = '17:30:00';
$subshift[1]['end'] = '18:30:00';
Ecco una visualizzazione:
Così, ho praticamente bisogno di mio turno originale assomigliare a questo quando ho finito:
$original_shift[0]['start'] = '14:30:00';
$original_shift[0]['end'] = '15:30:00';
$original_shift[1]['start'] = '16:30:00';
$original_shift[1]['end'] = '17:30:00';
Alcune complicazioni che ho anche bisogno di prendere in considerazione sono:
Questi intervalli di tempo possono essere qualsiasi volte (non vincolata alla mezz'ora come ho usato nel mio esempio), tuttavia saprò con certezza al 100% che gli intervalli di tempo non disponibili inizieranno sempre e finiranno o tra l'inizio e la fine dell'orario di spostamento originale.
I tempi non disponibili possono accumularsi e/o richiedere il tempo dell'intero spostamento dell'originale.
Non sto cercando qualcuno a "scrivere il mio codice" per quanto mi sto cercando qualcuno che ha affrontato con qualcosa di simile in passato e può avere una certa comprensione su come hanno compiuto esso.
Ho fatto alcune precisazioni, tuttavia l'ultimo blocco di codice non mostra come farlo, mostra ciò di cui ho bisogno per produrre il prodotto finale. –
può già essere segmentato lo spostamento dell'originale, ad es. può già contenere il tempo non disponibile? – Gordon