What you are missing is that you are working with ideal components. You are assuming that the capacitor and the battery have no resistance. In that case, yes, current would be infinite and the time to charge tha capacitor would be infinitely short.
We don't, however, have ideal components to work with. The battery will have an internal resistance (NOT a discrete part, but caused by the physics and chemistry of the battery.) The capacitor also has an internal resistance (again, this is inherent to the materials.)
These resistances prevent infinite currents from flowing, and prevent an instantaneous change in voltage.
You need to use equations that take the effects of the resitances into consideration.
Specifically you need to look into the RC time constant.
The RC time constant (T) is the product of the resistance (in Ohms) and the capacitance (in Farads.) T = RC
T is the number of seconds it will take the capacitor to charge to 63 percent of the target voltage - in your case, 0.63 Volts.
If the capacitor and the battery together have 1 Ohm of internal resistance, then T would be 1 Second. Taking t as 1 second, dV(t)/dt would then be 0.63 which leads to I(t) being 0.63Amperes, at which point the capacitor is only charged to 0.63 volts.
I've probably screwed up something in there, but the point is that infinite currents only occur in ideal circuits with no resistance.