Timer dependent action

Goal: Turn off pins at X time.

I've gotten as far as sending a string to arduino, parsing it then using a delay() to turn each pin off at a specified time. The issue is I need multiple pins to turn on at the same time and run for various amounts of time. Using a timer seems to be the most logically way to accomplish this but no code has worked thus far. If anyone has some sample code preferable in millis that I can work from it would be greatly appreciated.

Psuedo:
time = 0
millis()

turn all pins on

at time = x
turn pin 13 off
end

at time = y
turn pin 8 off
end

at time = z
turn pin 9 off
end

loop

Using a timer seems to be the most logically way to accomplish this but no code has worked thus far.

Not to me it doesn't. Suppose someone gave you a list of times to turn various lights in your house on and the length of time that they should be on, a pad of paper, a pencil, and a watch, and asked if you needed anything else. Would you also ask for a timer? What would you use the timer for? You have a watch. You write down when you turned a light on. At any given time, you check to see if it is time to turn a light on or off. If it is, you do it, and record when you did it.

The blink without delay example has all you need.

I will admit I have very little experience beyond basic programming with arduinos but a delay is not the answer to this situation. The set time frame is between .5 and 6 seconds. Currently the delay can only do one task at a time whereas a timer could complete multiple tasks at a set time. The goals is to allow multiple ingredients to be mixed simultaneously in the shortest time possible. In order to do this we would want all pins to open valves at time zero and close at a predetermined time which I can derive from a variable string. I've used timer that can be set and continuously run via sensor triggers but have not been able to push a standalone timer that starts every time a command is sent via serial port. Help a noob out.