Not an easy one-fits-all answer.
Depends on the watts (BTU) output of the heater and how much mass of steel engine block, coolant, and oil you're trying to heat and how much of that heat is being dissipated by wind / moisture.
Experiment a few times and you'll learn how your machine reacts. You'll know if it doesn't want to turn over, blows white smoke, or pulls the battery down too far.
If in open shed toss a tarp over the hood to block the prevailing wind. Consider an automatic onboard battery maintainer in addition to maximize power (be sure 'automatic' like available from Schumacher) and keep the battery at full charge especially in cold weather.
We're patient people that plan our moves ahead. Unless an unusual event occurs (trees down due to surprise wind) we heat all tractors before starting for at least 2-hours at 40-F and increase that length of time up to generally a maximum of 5- to 6-hours at zero and below. And we keep that battery up too.
If temps forecasted to be below zero and we've got to move early in a morning we just leave the heater plugged in all night. Battery charger is plugged in continuously every time we stop in the shed from November through mid-March, depending.
Don't forget to let it high-idle in extreme cold to bring hydraulic fluid up to a good working temp.
We're convinced that heating yields easier starting with better lube-on-start, helps protect our investment, and creates less strain on the entire system leading to a longer life.
Hope this helps.
Kubotas haven't been a problem using this approach. We used to keep an old gasoline tractor around that we'd light on ether and use it to pull-start 'non-orange' tractors so we could move around in winter.