How can I make a short timer using only command blocks?

You can make a scoreboard:

/scoreboard objectives add time dummy

Create a entity which counts for you:

/summon ArmorStand ~ ~1 ~ {CustomName:"timeCounter",CustomNameVisible:1}

Make it it invisible and a marker if you want:

/summon ArmorStand ~ ~1 ~ {CustomName:"timeCounter",CustomNameVisible:0,Marker:1b,Invisible:1,Invulnerable:1,NoBasePlate:1,NoGravity:1}

Then a repeating command block which increases this scoreboard every tick (20 ticks = 1 second):

/scoreboard players add @e[CustomName:"timeCounter"] time 1

Put your commands into an execute:

/execute @e[score_time_min=200] ~ ~ ~ effect @a 16 10 1 true

/execute @e[score_time_min=200] ~ ~ ~ time set day

Change the 200 to whatever seconds you want * 20:

Sorry, I first understood your question wrong, just remove the reset.

enter image description here