edit: If you handle the time in the PLC, then in WinCC Flex you can setup tags for the individual bytes, in stead of a DateTime type variable.
I think you should be able to build a string that contains the various parts that make up a date and time variable.
As far as I understand, VBS will follow the order and format that is setup in Windows (Regional settings ?), also I think that the list separator (again from Regional Settings) is used to distinguish between the date and the time parts.
You can try to set a string value with Now and see how it formats.
The hard part is to safeguard that noone changes any of the regional settings.
edit:
From the help text:
date literal
Any sequence of characters with a valid format that is surrounded by number signs (#). Valid formats include the date format specified by the locale settings for your code or the universal date format. For example, #12/31/99# is the date literal that represents December 31, 1999, where English-U.S. is the locale setting for your application.
In VBScript, the only recognized format is US-ENGLISH, regardless of the actual locale of the user. That is, the interpreted format is mm/dd/yyyy.
Maybe you can make a test if the format is correct with DateValue and TimeValue functions. These will raise an .err event if the format is wrong.
edit again: There is the IsDate and CDate functions. But there is no IsTime or CTime functions. I think for the time part you can safely assume that the separator is ":", so you can build the time part like this
strTime = Cstr(iHour) & ":" & Cstr(iMinute)
edit again again:
So finally you should be able to build a time_and_date string like this
strTimeDate = "#" & Cstr(iMonth) & "/" & Cstr(iDay) & "/" & Cstr(iYear) & "# " & Cstr(iHour) & ":" & Cstr(iMinute)