Take a look at the UpdateValue help page regarding the time argument. It is an object (VARIANT in COM), so many types of input may be passed. Translation of string timestamp to something the PISDK consumes can be done with
Dim piTime as New PITimeServer.PITimeFormat PITime.InputString = TextBox4.Text
The InputString handles a variety of time strings. Some that DateTime can parse will be rejected. See the InputString help to see if it covers all your needs.