Date / Time Manipulation

Discussion in 'PHP' started by koolsamule, May 12, 2010.

  1. #1
    Hi Chaps,
    I have some basic code that takes a UNIX time, adds a pre-calulated duration, to give a 'due date/time'.
    I then convert the UNIX time to [Y-m-d H:i:s] format for presentation.
    The problem I'm having at the moment is that the due date/time can be something like 2010-05-12 23:55:10. This time is outside of normal working hours, I need to insure the due date/time falls between 09:00 - 17:30 (Mon-Fri).
    So if the start time is: 16:00 and the duration is: 5 hours, firstly I need the time to 'carry over' to the next day, starting from 09:00, and secondly, if the next day is a weekend, carry over to the next working day. . . . .
    Can anyone point me in the right direction?
    Cheers
     
    koolsamule, May 12, 2010 IP
  2. sarahk

    sarahk iTamer Staff

    Messages:
    28,901
    Likes Received:
    4,555
    Best Answers:
    123
    Trophy Points:
    665
    #2
    Ha, that takes me back :)

    I'd put some sort of loop in there where I add the hours to the date and calculate the current days end-of-business.
    If the new date is past the EOB then calculate the extra hours. Get the next start-of-business (allow for weekends too) and add the hours on.
    Find that days EOB and is the new time greater... and so on.

    Yes you're adding a bit of new logic but the processing time will be minimal.
     
    sarahk, May 12, 2010 IP