<div dir="ltr">GPS is offset by 19 seconds from TAI. TAI is itself offset from UTC by an integer number of seconds that increments each time a leap second occurs. So it's pretty easy to code, but you need to know what the current UTC-TAI value is.  <div>
<br></div><div>As an example, here is how to could be done using pyast. pyast does not yet support GPS directly, but it's a simple job to add on the extra 19 seconds.</div><div><br></div><div style>David</div><div style>
<br></div><div style><br></div><div><div>import starlink.Ast as Ast</div><div><br></div><div>#  Create frames describing UTC and TAI, in seconds. Indicate that values</div><div>#  should be formatted using a standard ISO date and time string with 3</div>
<div>#  decimal places in the seconds field.</div><div>tai_frame = Ast.TimeFrame( "TimeScale=TAI,Unit=s,Format=iso.3" )</div><div>utc_frame = Ast.TimeFrame( "TimeScale=UTC,Unit=s,Format=iso.3" )</div><div>
<br></div><div>#  Get a mapping from TAI to UTC.</div><div>tai_to_utc = tai_frame.convert( utc_frame )</div><div><br></div><div>#  TAI is GPS plus 19 seconds. Create a Mapping to describe this shift.</div><div>gps_to_tai = Ast.ShiftMap( 19.0 )</div>
<div><br></div><div>#  Combine these mappings to get the total GPS to UTC mapping.</div><div>gps_to_utc = Ast.CmpMap( gps_to_tai, tai_to_utc )</div><div><br></div><div>#  Convert an example UTC date and time string to a floating point</div>
<div>#  value in seconds.</div><div>( nc, utc_value ) = utc_frame.unformat( 1, "2013-10-03 12:22:02.1" )</div><div><br></div><div>#  Using the above mapping to transform the seconds value to GPS.</div><div>gps_value = gps_to_utc.tran( utc_value )</div>
<div><br></div><div>#  Convert the result to a date and time string and print. Use the TAI</div><div>#  frame here as a convenience - it's only being used to do the formatting, </div><div>#  which is the same for all timescales.</div>
<div>print( tai_frame.format( 1, gps_value ) )</div></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 6 December 2013 12:29, Hoàng Đức Thường <span dir="ltr"><<a href="mailto:hoangthuong.hust@gmail.com" target="_blank">hoangthuong.hust@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Hi,<br><br></div>May anyone help me? I want to write a program convert GPS time to UTC time. Then how can I understand the <span lang="en"><span>algorithm ? <br>


<br></span></span></div><span lang="en"><span>Thank you !<span class="HOEnZb"><font color="#888888"><br></font></span></span></span></div><span class="HOEnZb"><font color="#888888"><span lang="en"><span></span></span><div>
<div><div><div><div><br>-- <br>

<div dir="ltr"><br>================================================<br><font color="#000000">Hoang Duc Thuong</font><div><font color="#000000"><font><br><span style="font-family:Arial,Helvetica,sans-serif;line-height:15px">Université des Sciences et des Technologies de Hanoi(USTH)</span><br>


<span style="font-family:Arial,Helvetica,sans-serif;line-height:15px">University of Science and Technology of Hanoi(USTH)<br></span><span style="font-family:Tahoma;white-space:pre-wrap">Hanoi University of Science and Technology (HUST)</span><br>


<br>Email: <a href="mailto:hoangthuong.hust@gmail.com" target="_blank">hoangthuong.hust@gmail.com</a><br>Tel: <a href="tel:%2B84%2001692887738" value="+841692887738" target="_blank">+84 01692887738</a></font><br></font><br>
</div></div>
</div></div></div></div></div></font></span></div>
<br>_______________________________________________<br>
AstroPy mailing list<br>
<a href="mailto:AstroPy@scipy.org">AstroPy@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/astropy" target="_blank">http://mail.scipy.org/mailman/listinfo/astropy</a><br>
<br></blockquote></div><br></div>