*# of blocks \* blocks/hour \* hours/day \* days/year*
Hours
So the halving occurs approximately every 4 years, though this varies because the block time is never exactly 10 minutes. In theory, the block reward will never reach 0 (since half of a number is never 0,) but in practice it is said that the last halving will occur in the year 2140, when the block reward will be reduced to less than 1 satoshi (0.00000001 BTC).
The next halving is expected to occur in late March 2024.
# Why does the Halving trigger a bull run?
There have already been 3 halvings, and each one has triggered a bull run the following year.
When the halving occurs, the amount of Bitcoin entering the blockchain is cut in half, and this reduction in supply of new coins leads to an increase in price. Additionally, in the past the halving has been a newsworthy event which draws more people into the cryptosphere, which leads to an increase in supply. Per the law of supply and demand, when supply goes down and demand goes up, price goes up.
This increase in price is "built in" to the way Bitcoin works: when the block reward is cut, miners are suddenly making half as much as they used to for maintaining the integrity of the blockchain. To compensate for this and keep them incentivized, the price increases. Bitcoin miners are also paid with transaction fees, which is a small fraction of each transaction that they keep. When the block reward is reduced to zero, the transaction fees will be the only incentive for miners.