This is perhaps the simplest case of time-dependent Cox regression coefficients. The time-dependent vignette for the R survival package shows how to do this, in Section 4.1 on "Step Functions." The trick is to start by splitting the data into each of your separate epochs, coded into the (Start,Stop,Status) form of the Surv() object, with an indicator for each of the 3 time periods. Then you fit a Cox model stratified by the time-period indicator. A stratified model calculates different regression coefficients/hazard ratios for each of the strata.
For example in your case, for an individual who survives for 500 days and then has the event, there would be 3 rows of data: one showing Start of 0 and Stop at 30 days (censored) for TimePeriod 1, another showing Start at 30 days and Stop at 365 (censored) for TimePeriod 2, and a third with Start of 365 and Stop at 500 (event) for TimePeriod 3.
In R then there are functions to turn your original data into the form required, explained in the vignette. Once the data are in the above form any survival software that allows for time-dependence and stratified models should be able to do the analysis.