私は複雑な作業をしているので、私は今数日間壁に頭を打っています。私は約4つのアプローチを試しましたが、それぞれがストールしているように見えて、非常にイライラしています。時間範囲を他の時間範囲で分割する
時間があります。たとえば、14:30〜18:30:00です。この時間範囲を誰かの仕事シフトと考えてください。この時間帯には、15:30から16:30まで、17:30から18:30までは働きません。競合するシフトを取り除くために、元のシフトの開始時刻と終了時刻を変更する必要があります。
オリジナルシフト配列は次のようになります。
$original_shift[0]['start'] = '14:30:00';
$original_shift[0]['end'] = '18:30:00';
と時間は次のようになり、元のシフトから削除する範囲:ここでは
$subshift[0]['start'] = '15:30:00';
$subshift[0]['end'] = '16:30:00';
$subshift[1]['start'] = '17:30:00';
$subshift[1]['end'] = '18:30:00';
は視覚化したものです:
私が行ってる時に次のようになります。
$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';
を私も考慮する必要があるいくつかの合併症は以下のとおりです。
これらの時間範囲は、任意の時間(私が持っている半分の時間に制約されないかもしれ私の例では使用されています)、しかし、私は、利用不可能な時間範囲が常に最初のシフトの開始時間と終了時間の間に開始し、終了することを100%確信しています。
使用不可能な時間は、元のシフトの時間全体を突き合わせることができます。
私は過去にこのようなものを扱っている誰かを捜していると、彼らはそれを達成する方法にいくつかの洞察力を持っていることと同じくらいの「私のコードを書く」ために誰かを探していませんよ。
私はいくつかの説明をしましたが、最後のコードブロックには方法が示されていません。 –
は、元のシフトが既にセグメント化されていることができます。それはすでに使用できない時間を含んでいますか? – Gordon