API GetBattleFieldInstanceRunTime

Returns the time in ms since the current battlefield has opened.

battlefieldRunTime = GetBattleFieldInstanceRunTime;

Returns

 * battlefieldRunTime
 * Integer - the time in ms since the current battlefield has opened or zero if you are not in any battleground.

WoW Version 3.2.0
Whenever you enter a battleground, WoW retrieves the start-time from the server and saves a DWORD-value at 0x1129334 containing the time between system startup of the user and battleground start. This function simply gets the time between system startup and now and substracts that saved value from it. The windows client calls GetTickCount to get those times, see: MSDN WinAPI reference