They say that the last bitkoyn will be produced in 2140. Although, given that one bitkoyn mined every ten minutes, it turns out that 21 million will be much earlier. However, it seems to me that by the time the bitcoin itself and its quantity have completely changed. Therefore, it is meaningless to think for a century ahead.
I agree it takes 10 minutes to solve single block to generate 12.5 BTC currently.
In coming future halving also plays important role on production of Bitcoins. We are currently in 3rd phase of halving.
In first phase of halving Block rewards were 50 BTC for 210000 Blocks which were solved in first 4 years from 2008 to 2012.
In second phase of halving Block rewards were 25 BTC for 210000 Blocks which were solved in first 4 years from 2012 to 2016 (Rewards reduced by 50%).
Now we are currently in third phase of having with Block rewards of 12.5 BTC for 2016 to 2020. (Rewards reduced by 50% than second phase).
After 2020 there will be having after that rewards for block will be again reduced by 50% which will be 6.25 BTC for single block solving.
According this calculation it could take 2145. But due to reduction of time for solving blocks (current Block Time is 08:38 min.) according to number of blocks, it will be completed by 2130.