Short answer: you can't start an EnergyPlus simulation at a custom hour, it will always start at the beginning of the first day in the run period.
For EnergyPlus to run a simulation, the weather file that you use MUST have data for 24 hours of each day in the simulation run period. If you only care about what the simulation calculates from 7AM on January 5 through 7AM on January 22, then set the start date and end date in the RunPeriod object to match those calendar dates. When you run the simulation, EnergyPlus will start at midnight (beginning of the day) on January 5 and you can't change that. So, I would suggest:
- If you don't have weather data outside of the simulation period that you care about, then apply the weather data for 7AM on January 5 to all the previous hours leading up to 7AM on January 5, and then the weather data for 7AM on January 22 to all the following hours after 7AM on January 22.
- Run your simulation for the days that you're interested in.
- When you analyze hourly outputs in the CSV file generated by EnergyPlus, ignore the data for hours that you don't care about.
UPDATE: Per @rraustad's comment below, instead of ignoring the hours that you don't care about in the CSV, you can tell EnergyPlus to not generate them in the CSV. You can do this by setting the Schedule Name
input field of the Output:Variable object to reference a schedule that defines the time frame that you want results to be generated in the CSV.