When is the halvening? What are the dates of past halvenings? When a miner finds a new block, they receive a block reward that is comprised of the transaction fees from that block, plus a set amount of newly minted BTC. When the network started, this block reward was 50 BTC, but that amount is cut in half every 210,000 blocks, slowly approaching zero. This reduction is commonly referred to as a 'halvening'.

210,000 blocks is equivalent to about 4 years, but what were the actual calendar dates of the previous block reward halvenings? What are the expected dates of future halvenings? How accurately can they be predicted?
Here are the approximate dates for the halvenings of the BTC block reward, as evidenced by the timestamp on those blocks. Note that the timestamp is not a perfect measure of when the block was found, but it is reasonably accurate, with an assumed margin of error of a couple hours (for more info on this see this question). The time stamp is a component of the block's header, and it is reported in unix time. 


Genesis block - 50 BTC - Unix time 1231006505 (Sat, 03 Jan 2009 18:15:05 GMT)
Block 210,000 -  25 BTC - Unix time 1354116278 (Wed, 28 Nov 2012 15:24:38 GMT)
Block 420,000 - 12.5 BTC - Unix time 1468082773 (Sat, 09 Jul 2016 16:46:13 GMT)
Block 630,000 - 6.25 BTC - Expected ~May 2020
Block 840,000 - 3.125 BTC - Expected ~May 2024
Block 1,050,000 - 1.5625 BTC - Expected ~May 2028


You may notice that the past halvenings have occurred sooner than the expected ~4 year time frame. This is because the network's hashrate has been steadily increasing on average, but the difficulty adjustment only happens every two weeks. This latency means that by the end of the two week difficulty adjustment window, there will be more hashrate pointed at the network, so blocks will be found a little quicker than the 10 minute goal. This effect compounds over time, so each past halvening has occurred a few months ahead of the implied schedule. 

Likewise, if the network hashrate were seen to steadily decrease over the next years, we would expect future halvenings to occur at a rate of > 4 years, as blocks would be founds slightly slower than the 10 minute goal.

The estimates given for future halvenings were calculated assuming a ~constant hashrate. A more accurate estimate could perhaps include a range of +/- a few months, based on historical observations of the network's hashrate.