If I'm understanding you right, you are saying that in g++ you are using the time() function.
This gives the number of seconds since 1970
e.g. time_t t = time(NULL);
Under Visual Studio C++ you say you are using the clock function correct?
Well clock() returns the number of clock ticks elapsed since the program was launched.
To get an equivalent you need to utilize the CLOCKS_PER_SEC macro to get it to relate to seconds. Are you doing that? This could entirely explain the different result.
If this is not the case then perhaps you better post some code to show us what you're doing.
In any case, why are you using different timing functions for each compiler? both functions are available in both compilers. Also, time doesn't give you sub-second accuracy, clock does but also is not very accurate. In fact, neither are very accurate. Have you considered using the high resolution timer functions available in the windows API?