It should end on the 31st March 2019. The time from June 2016 to then is more than enough for "transition". All it is doing is extending the period of uncertainty that businesses keep saying they cannot cope with.
I agree NJ but the whole idea of the transition is so these politicians no doubt in hope of stuffing their snout in the EU trough can renege on Brexit.
Move the deadline, remove the incentive to get on with it, which will please some.
Anyway, "by" means, "before", which we agree with. About 21 months before.
Anyway, that's just the EU starting position, which should be taken with a pinch of salt: unless the UK is foolish enough to keep the same group of capitulators as their negotiation team as they've used so far.