How accurate do you require the timing to be over a period of days ?
The Arduino itself is not very good at keeping time so if accuracy is required then you will need an accurate source of time such as a Real Time Clock
Your requirements for the program are actually very simple if that is all the program is required to do. Even a series of delay()s would do what you want.
If that is all that you want to do, using delay() would be simple as long as nothing needs to happen during the delay.
It also depends on the accuracy of the 1 hour and 30 second timings. If you want precision, you will need an external source of accurate time like a Read Time Clock (RTC) or access to a NTP server.
Doing the timing, millis() (or micros()) is always preferred over delay() in any program that needs to be responsive. Here is a good beginners guide to millis() for timing.
MarkT:
I'd recommend learning about state machines. You requirements are easily expressed as a state machine.
Why complicate things if all that is required is a series of pauses and pin state changes, but we are waiting to hear whether the requirement is as simple as originally posted so all bets are off
If you are going to use delay() for some of your timing I would not bother with using millis() for any of it.
Just use a series of delay()s with the actions needed at the end of each period.
wildbill:
Is it enough to turn the relays off in setup immediately after your pinmode statements?
Yes it can be after Relay 1 turn off then Relay 2 turn on .
but as soon as i turn on the arduino both relay become turn on and noting happen . i think it should be some problem in code im using .
i can to use delay but the point im using this method is to learn something that useful for other project
When you turn the arduino on and set pinmode for output, those two pins will default to low, which is what turns your relays on. digitalWrite them both to HIGH in setup.