How do I add updated timestamp to a file url to ensure people download the latest version?
The best approach would be to actually rename the file both on the file system and the database and incorporate the upload time in file name. 

Appending time after the question mark in URL would have purely informative purpose. And if that's what you want then create a custom module and place the following code in it:

function my_custom_module_node_view_alter(&amp;$build) {
  if (isset($build['field_file'])) {
    $time = gmdate("Y-m-d:H:i", $build['field_file'][0]['#file']-&gt;timestamp);
    $build['field_file'][0]['#file']-&gt;filename = $build['field_file'][0]['#file']-&gt;filename.'?'.$time;
  }
}


If you have multiple files per node then use the following code instead:

function my_custom_module_node_view_alter(&amp;$build) {
 if (isset($build['field_file'])) {
    foreach ($build['field_file'] as $key =&gt; $file) {
      if (is_numeric($key)) {
        $time = gmdate("Y-m-d:H:i", $file['#file']-&gt;timestamp);
        $build['field_file'][$key]['#file']-&gt;filename = $build['field_file'][$key]['#file']-&gt;filename.'?'.$time;
      }
    }
  }  
}