Found a different way to calculate uptime.
keep in mind that for this to work you HAVE to have SNMP and WMI SNMP installled on your system in Windows Components, they are NOT installed by default.

Anyway since it's late and i'm tired I probably calculated it wrong somewhere, if someone likes to test it and help me out here with the calculation I'd be very much obliged.

 Code:
$strComputer = "."
$objLocator = CreateObject("WbemScripting.SWbemLocator")
$objWMIService = $objLocator.ConnectServer($strComputer, "root/snmp/localhost")
$objNamedValueSet = CreateObject("WbemScripting.SWbemNamedValueSet")
$colItems = $objWMIService.Instancesof("SNMP_RFC1213_MIB_system",,$objNamedValueSet)
For each $objItem in $colItems
  $x = CDBL($objItem.sysUpTime)
  $mili = $x mod 1000
  $sec = ($x / 1000) mod 60
  $min = ($x / 60000) mod 60
  $hour = ($x / 360000) mod 24
  "sysUpTime: " + CStr($Hour) + ":" + CStr($min) + ":" + CStr($sec) ?
  ?
Next