2/2
Trump could have fired Comey on Day 1, or within the first month. If the reason for termination was the mishandling of the Clinton investigation, that's what he would have done. However, Trump had already made it clear that he appreciated Comey's help in defeating Clinton. 
<Better late than never.>
Once Comey announced that there was an ongoing investigation of Trump's campaign, it was too late for Trump to fire him. He might have gotten away with it if he had simultaneously announced the nomination of a career law enforcement officer with impeccable credentials and no known political affiliations.
The investigations continue. If you are a former prosecutor, you recognize that Trump is displaying the classic behaviors associated with a "consciousness of guilt." In the Comey matter, he went beyond that: he told Lester Holt that he fired Comey because of the Russia investigation, undercutting Pence, Spicer, Sanders, and Conway all of whom were vigorously lying for him a day earlier.