@@ -291,6 +291,23 @@ function roundNumber(number, digits) {
291291 return rndedNum ;
292292}
293293
294+ function stringToDateUTC ( text ) {
295+ return new Date ( text . replace ( " " , "T" ) + "Z" ) ;
296+ }
297+
298+ function formatDate ( date ) {
299+ var a , b , c , d , e , f , g , z ;
300+
301+ a = date . getFullYear ( ) ;
302+ b = twoZeroPad ( date . getMonth ( ) + 1 ) ; // months 0-11
303+ c = twoZeroPad ( date . getDate ( ) ) ;
304+ e = twoZeroPad ( date . getHours ( ) ) ;
305+ f = twoZeroPad ( date . getMinutes ( ) ) ;
306+ g = twoZeroPad ( date . getSeconds ( ) ) ;
307+
308+ return a + '-' + b + '-' + c + ' ' + e + ':' + f + ':' + g ;
309+ }
310+
294311function updateVehicleInfo ( index , newPosition ) {
295312 var vehicle = vehicles [ index ] ;
296313 var latlng = new google . maps . LatLng ( newPosition . gps_lat , newPosition . gps_lon ) ;
@@ -334,7 +351,7 @@ function updateVehicleInfo(index, newPosition) {
334351 && newPosition . gps_alt < 350 // and is under 350 meters altitude
335352 ) || ( // or
336353 newPosition . gps_alt < 600 // under 600m and has no position update for more than 30 minutes
337- && ( new Date ( ( new Date ( ) ) . toISOString ( ) ) ) . getTime ( ) - ( new Date ( newPosition . gps_time + " UTC" ) ) . getTime ( ) > 1800000
354+ && ( new Date ( ) . getTime ( ) - convert_time ( newPosition . gps_time ) ) > 1800000
338355 ) ;
339356
340357 if ( landed ) {
@@ -408,13 +425,14 @@ function updateVehicleInfo(index, newPosition) {
408425 + '</div>' // right
409426 + '</div>' // data
410427 + '' ;
411- var c = '<dt class="receivers">Recieved by:</dt><dd class="receivers">'
428+ var c = '<dt class="receivers">Recieved <i class="friendly-dtime" data-timestamp=' + ( convert_time ( newPosition . server_time ) ) + '></i> by:</dt><dd class="receivers">'
412429 + newPosition . callsign . split ( "," ) . join ( ", " ) + '</dd>'
413430
414431 if ( ! newPosition . callsign ) c = '' ;
415432
433+
416434 // mid for portrait
417- var p = '<dt>' + newPosition . gps_time + '</dt><dd>datetime</dd>'
435+ var p = '<dt>' + formatDate ( stringToDateUTC ( newPosition . gps_time ) ) + '</dt><dd>datetime (local) </dd>'
418436 + '<dt>' + coords_text + '</dt><dd>coordinates</dd>'
419437 + c // receivers if any
420438 + '</dl>'
@@ -428,7 +446,7 @@ function updateVehicleInfo(index, newPosition) {
428446 // mid for landscape
429447 var l = ( ( vehicle . vehicle_type == "car" ) ? '' : '<dt>' + ascent_text + ' ' + hrate_text + '</dt><dd>rate v|h</dd>' )
430448 + '<dt>' + text_alt + ' (' + text_alt_max + ')</dt><dd>altitude (max)</dd>'
431- + '<dt>' + newPosition . gps_time + '</dt><dd>datetime</dd>'
449+ + '<dt>' + formatDate ( stringToDateUTC ( newPosition . gps_time ) ) + '</dt><dd>datetime (local) </dd>'
432450 + '<dt>' + coords_text + '</dt><dd>coordinates</dd>'
433451 + habitat_data ( newPosition . data )
434452 + c // receivers if any
@@ -539,8 +557,8 @@ function updatePolyline(vehicle_index) {
539557 }
540558}
541559
542- function convert_time ( gps_time ) {
543- return ( new Date ( gps_time ) ) . getTime ( ) / 1000 ; // seconds since 1/1/1970 @ 12:00 AM
560+ function convert_time ( text ) {
561+ return stringToDateUTC ( text ) . getTime ( ) ;
544562}
545563
546564var GChartString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' ;
@@ -559,8 +577,6 @@ function GChartEncodeData(valueArray,maxValue) {
559577}
560578
561579function addPosition ( position ) {
562- position . gps_time = position . gps_time . replace ( / ( \d + ) - ( \d + ) - ( \d + ) / , "$2/$3/$1" ) ;
563-
564580 // check if the vehicle is already in the list, if not create a new item
565581 if ( $ . inArray ( position . vehicle , vehicle_names ) == - 1 ) {
566582 vehicle_names . push ( position . vehicle ) ;
@@ -859,7 +875,7 @@ function graphAddLastPosition(idx) {
859875 vehicles [ idx ] . graph_data_updated = true ;
860876 var data = vehicles [ idx ] . graph_data ;
861877 var new_data = vehicles [ idx ] . curr_position ;
862- var date = new Date ( new_data . gps_time ) ;
878+ var date = new Date ( convert_time ( new_data . gps_time ) ) ;
863879 var tz_offset_milis = date . getTimezoneOffset ( ) * 60000 ;
864880 var ts = date . getTime ( ) - tz_offset_milis ;
865881
0 commit comments