The power of a battery is not kilowatt-hours, it’s kilowatts. Power multiplied by time equals energy; this is why the energy of a battery is expressed in kilowatt-hours.

A kilowatt of power is one joule of energy per second. So a kilowatt-hour is 1 joule per second * 3600 seconds = 3600 joules of energy.

The joule is the SI unit of energy, and the **BTU is the US customary unit** of energy. The two are directly convertible:

1 BTU = 0.000293071 kWh

1 kWh = 3412.14 BTU

Using the above conversion factors, I calculated that 120,000 BTU is equal to 35.16 kWh. Close enough to what you said the EPA claims (34 kWh).

Along these same lines, engine emissions (CO, NOx, etc.) and brake-specific fuel consumption are often expressed in grams per horsepower-hour. The horsepower-hour is yet another unit of energy: one horsepower is 550 foot-pounds of energy per second, so one hp-hr is 550 * 3600 = 1,980,000 ft*lbs of energy. 1 BTU = 778.169 ft*lbs, so 1 hp-hr = 2544 BTU.

If the energy that initially charged the battery came from a thermal power plant (i.e. coal, nuclear, or anything else that used heat to drive a steam turbine to generate electricity), then the “300 miles on the equivalent of 2 gallons of gas” comparison kind of falls down a bit.

The one Tesla Model S I was familiar with had an 85 kWh battery and a range of 262 miles. 85 kWh is the equivalent of 2.4 gallons of gas on a simple energy-for-energy comparison, but if the electrical energy came from a thermal power plant, and the overall efficiency from the raw heat input at the power plant to the charging of the battery is 30%, then it’s more sensible to say that this car can go 262 miles on the equivalent of 8.06 gallons of gas - which is 32 MPG. That’s actually pretty good for a car that has 360 horsepower on tap, but if you’re using fossil fuel (coal, natural gas) to generate the electricity, then that’s a significant carbon footprint. The environmental footprint improves considerably when you charge the car with green energy (solar, nuclear, hydro, nuclear) instead.