The time it takes to drain a water heater depends on the tank and hose size, pressure, and complexity of the procedure. It can range from a few minutes to over an hour. In general, it can take anywhere from 20-60 minutes to fully drain a standard 40-50 gallon water heater. However, if there is a lot of sediment buildup or clogging, it may take longer. It's important to be patient and let the tank fully drain to avoid any potential damage or issues.