Time & Longitude
Comprehensive coverage of time systems essential for navigation, from solar time to atomic time, including the mathematical foundations for celestial navigation computations.
Time Systems Hierarchy
Overview of Time Scales
| Time Scale | Definition | Primary Use |
|---|---|---|
UT0 |
Raw observed rotation of Earth |
Direct astronomical observation |
UT1 |
UT0 corrected for polar motion |
Celestial navigation, Earth orientation |
UTC |
Atomic time with leap seconds |
Civil timekeeping, GPS synchronization |
TAI |
International Atomic Time (continuous) |
Scientific reference, GPS internal |
TT |
Terrestrial Time (formerly TDT) |
Ephemeris calculations |
GPS Time |
TAI - 19 seconds (no leap seconds) |
GPS satellite system |
The Longitude-Time Connection
Earth rotates 360° in 24 hours. This fundamental relationship connects position and time.
Key relationship: 1 hour = 15° of longitude
Solar Time
Local Apparent Solar Time (LAST)
The sun’s actual position determines local solar noon.
-
Solar noon: When sun crosses local meridian (highest point)
-
Varies daily: Due to Earth’s elliptical orbit and axial tilt
Mean Solar Time
Averaged solar time that ignores the Equation of Time variations.
-
Based on a hypothetical "mean sun" moving uniformly
-
More practical for timekeeping
Equation of Time
Difference between apparent and mean solar time:
Date | Equation of Time ------------|------------------ Feb 12 | -14.2 minutes (sun 14 min "slow") May 15 | +3.7 minutes (sun 4 min "fast") Jul 26 | -6.5 minutes Nov 3 | +16.4 minutes (sun 16 min "fast")
Mathematical Formula for Equation of Time
The Equation of Time (E) can be approximated by:
Where:
And \(d\) is the day number of the year (1-365).
Sidereal Time
Definition
Sidereal time measures Earth’s rotation relative to the stars (fixed celestial reference frame) rather than the Sun.
| Quantity | Duration | Basis |
|---|---|---|
Mean Solar Day |
24 hours exactly |
Sun returns to meridian |
Sidereal Day |
23h 56m 4.091s |
Star returns to meridian |
Difference |
3m 55.909s |
Earth’s orbital motion |
Why the Difference?
As Earth orbits the Sun, it must rotate slightly more than 360° for the Sun to return to the same meridian position:
Greenwich Sidereal Time (GST)
Greenwich Mean Sidereal Time (GMST) is the hour angle of the vernal equinox (First Point of Aries, ♈) at Greenwich.
Where:
-
\(\theta_0\) = GMST in degrees
-
JD = Julian Date
-
T = Julian centuries from J2000.0
Local Sidereal Time (LST)
Where \(\lambda\) is longitude in degrees (positive East).
|
Why Sidereal Time Matters for Navigation
Celestial Navigation Connection The Local Sidereal Time directly gives you the Right Ascension of the meridian:
\[\text{LST} = \alpha_{\text{meridian}}\]
A star is on your meridian when its Right Ascension equals your Local Sidereal Time. To find when a star transits:
\[\text{Transit Time (LST)} = \alpha_{\text{star}}\]
|
Sidereal Time Calculation (Python)
#!/usr/bin/env python3
"""
Greenwich Mean Sidereal Time Calculator
IAU 2006 Resolution B3 formula
"""
import math
from datetime import datetime, timezone
def julian_date(dt: datetime) -> float:
"""Convert datetime to Julian Date."""
year = dt.year
month = dt.month
day = dt.day + (dt.hour + dt.minute/60 + dt.second/3600) / 24
if month <= 2:
year -= 1
month += 12
A = int(year / 100)
B = 2 - A + int(A / 4)
JD = int(365.25 * (year + 4716)) + int(30.6001 * (month + 1)) + day + B - 1524.5
return JD
def gmst(dt: datetime) -> float:
"""
Calculate Greenwich Mean Sidereal Time in hours.
Uses IAU 2006 algorithm.
"""
JD = julian_date(dt)
D = JD - 2451545.0 # Days from J2000.0
T = D / 36525.0 # Julian centuries from J2000.0
# GMST in degrees (IAU 2006)
theta = (280.46061837 +
360.98564736629 * D +
0.000387933 * T**2 -
T**3 / 38710000)
# Normalize to 0-360
theta = theta % 360
# Convert to hours
return theta / 15.0
def local_sidereal_time(dt: datetime, longitude: float) -> float:
"""
Calculate Local Sidereal Time.
Parameters:
dt: UTC datetime
longitude: Observer longitude (degrees, positive East)
Returns:
LST in hours (0-24)
"""
gst = gmst(dt)
lst = gst + longitude / 15.0
return lst % 24
# Example: Los Angeles (118.24°W) at 2026-03-26 12:00 UTC
dt = datetime(2026, 3, 26, 12, 0, 0, tzinfo=timezone.utc)
lon_la = -118.24
lst_la = local_sidereal_time(dt, lon_la)
print(f"LST at Los Angeles: {lst_la:.4f} hours = {int(lst_la)}h {int((lst_la % 1) * 60)}m")
Julian Dates
Purpose
Julian Dates provide a continuous count of days, eliminating calendar irregularities from astronomical calculations.
| Epoch | Julian Date |
|---|---|
Julian Day Zero |
January 1, 4713 BCE (proleptic Julian calendar), noon UT |
J2000.0 (Standard Epoch) |
JD 2451545.0 = January 1, 2000, 12:00 TT |
Unix Epoch |
JD 2440587.5 = January 1, 1970, 00:00 UTC |
Julian Date Formula
Where Y = year, M = month, D = day, UT = Universal Time in hours.
Modified Julian Date (MJD)
MJD starts at midnight (more convenient for modern use) and uses smaller numbers.
| Date/Time | JD | MJD |
|---|---|---|
2000-01-01 12:00 TT (J2000) |
2451545.0 |
51544.5 |
2025-01-01 00:00 UTC |
2460676.5 |
60676.0 |
2026-03-26 00:00 UTC |
2461126.5 |
61126.0 |
Julian Date CLI Calculation
# Julian Date from Unix timestamp
awk 'BEGIN {
# Current JD
ts = systime()
jd = ts / 86400 + 2440587.5
printf "Current JD: %.6f\n", jd
printf "Current MJD: %.6f\n", jd - 2400000.5
}'
# Convert date to JD
date_to_jd() {
local year=$1 month=$2 day=$3 hour=${4:-12}
awk -v Y="$year" -v M="$month" -v D="$day" -v H="$hour" 'BEGIN {
if (M <= 2) { Y--; M += 12 }
A = int(Y / 100)
B = 2 - A + int(A / 4)
JD = int(365.25 * (Y + 4716)) + int(30.6001 * (M + 1)) + D + B - 1524.5 + H/24
printf "%.6f\n", JD
}'
}
# Example
date_to_jd 2026 3 26 12
# Output: 2461127.000000
GPS Time
Definition
GPS Time is a continuous time scale (no leap seconds) used by the Global Positioning System. It is synchronized with UTC at the GPS epoch.
| Parameter | Value |
|---|---|
GPS Epoch |
January 6, 1980, 00:00:00 UTC |
Offset from TAI |
GPS = TAI - 19 seconds (constant) |
Offset from UTC (2026) |
GPS = UTC + 18 seconds (varies with leap seconds) |
Time representation |
GPS Week + Seconds of Week |
GPS Week Number
Where JD 2444244.5 = January 6, 1980 (GPS epoch).
|
GPS Week Rollover GPS receivers transmit week number modulo 1024 (10-bit field). Rollovers occur every ~19.7 years:
Modern receivers use extended week numbers or UTC correlation. |
GPS to UTC Conversion
| Date | Cumulative Leap Seconds |
|---|---|
1980-01-06 (GPS epoch) |
0 |
1981-07-01 |
1 |
2012-07-01 |
15 |
2017-01-01 |
18 |
2026 (current) |
18 (no change since 2017) |
GPS Time in Navigation Receivers
GPS Message Structure:
┌────────────────────────────────────────────────┐
│ Subframe 1: GPS Week, SV Clock Correction │
├────────────────────────────────────────────────┤
│ Subframe 2-3: Ephemeris Data │
├────────────────────────────────────────────────┤
│ Subframe 4-5: Almanac, UTC Parameters │
│ (includes UTC-GPS offset) │
└────────────────────────────────────────────────┘
Time of Week (TOW): 0 to 604799 seconds
(Seconds since start of GPS week, midnight Saturday/Sunday)
Atomic Time Systems
The SI Second
The fundamental unit of time is defined by atomic physics:
This corresponds to the transition between two hyperfine levels of the ground state of cesium-133 (\(^{133}\text{Cs}\)).
| Parameter | Value |
|---|---|
Uncertainty |
\(\pm 1 \times 10^{-16}\) |
Drift rate |
< 1 second in 300 million years |
Principle |
Laser-cooled cesium atoms in vertical fountain |
Height of toss |
~1 meter |
International Atomic Time (TAI)
TAI (Temps Atomique International) is a continuous time scale based on the weighted average of ~450 atomic clocks worldwide.
| Property | Value |
|---|---|
Epoch |
00:00:00 UTC, January 1, 1958 |
Stability |
\(2 \times 10^{-16}\) over 30 days |
Steering |
None (free-running) |
Leap seconds |
Never applied |
Maintained by |
BIPM (International Bureau of Weights and Measures) |
Where \(w_i\) is the weight assigned to clock \(i\) and \(h_i(t)\) is its reading.
Optical Atomic Clocks (Future Standard)
Next-generation clocks use optical frequencies (\(\sim 10^{15}\) Hz) instead of microwave (\(\sim 10^{10}\) Hz).
| Type | Frequency | Uncertainty |
|---|---|---|
Cesium-133 (current) |
9.19 GHz |
\(10^{-16}\) |
Strontium optical lattice |
429 THz |
\(10^{-18}\) |
Ytterbium optical |
518 THz |
\(10^{-18}\) |
Aluminum ion |
1.12 PHz |
\(9 \times 10^{-19}\) |
|
Operational Impact Optical clocks are so precise they detect: - Height differences of 1 cm (gravitational redshift) - Earth’s gravitational field changes - Relativistic effects from walking speed Military applications include detecting underground tunnels/structures via gravitational anomalies. |
Universal Time (UT1) and Earth Rotation
UT1 Definition
UT1 is the principal form of Universal Time, corrected for polar motion (Earth’s rotational axis wobbles):
Where: - \(\Delta\phi\), \(\Delta\psi\) = polar motion components - \(\lambda\) = longitude - \(\phi\) = latitude
DUT1 (UT1 - UTC)
Since UTC uses leap seconds to stay within 0.9 seconds of UT1:
WWVB, WWV format: DUT1 encoded as double ticks
GPS Navigation Message: WN_LSF, DN, Δt_LSF
Current DUT1 (check IERS Bulletin A):
Example: DUT1 = +0.2 seconds
→ UT1 is 0.2 seconds AHEAD of UTC
Earth Rotation Irregularities
| Component | Cause | Period |
|---|---|---|
Secular deceleration |
Tidal friction (Moon) |
~2.3 ms/century |
Decadal variations |
Core-mantle coupling |
10-100 years |
Seasonal variations |
Atmospheric mass redistribution |
Annual, semi-annual |
Chandler wobble |
Free nutation |
433 days |
Polar motion |
Mass redistribution |
Various |
Length of Day (LOD) Variation
Year 1900: excess LOD ≈ +4 ms
Year 2000: excess LOD ≈ +2 ms
Year 2020: excess LOD ≈ -0.5 ms (Earth speeding up!)
This is why no leap seconds added since 2017 -
Earth's rotation has accelerated slightly.
IERS Bulletins
The International Earth Rotation and Reference Systems Service (IERS) publishes:
| Bulletin | Content | Frequency |
|---|---|---|
A |
Rapid EOP (Earth Orientation Parameters), predictions |
Weekly |
B |
Final EOP values |
Monthly |
C |
Leap second announcements |
As needed (~6 months notice) |
D |
DUT1 values broadcast in time signals |
Irregular |
Navigation Implications
|
Why UT1 Matters for Navigation Celestial navigation requires knowing where the stars are relative to Earth:
\[\text{GHA}_{\text{corrected}} = \text{GHA}_{\text{almanac}} + 0.0042° \times \text{DUT1}\]
At the equator, 1 second of time = 463 meters of position error. |
Universal Time Coordinated (UTC)
Definition
UTC is the basis for civil time worldwide:
-
Based on TAI with leap second adjustments
-
Maintained to within 0.9 seconds of UT1
-
International standard reference time
-
Does NOT observe daylight saving time
UTC vs GMT
-
GMT: Greenwich Mean Time (historical, astronomical)
-
UTC: Coordinated Universal Time (atomic-based)
-
Functionally equivalent for most purposes
-
UTC is more precisely defined
Leap Seconds
Where \(N_{\text{leap}}\) is the cumulative leap seconds since 1972.
| Date | Leap Second # | TAI-UTC |
|---|---|---|
1972-01-01 |
Initial offset |
10s |
1972-07-01 |
1 |
11s |
1973-01-01 through 1979-01-01 |
2-9 |
12-18s |
1980-01-01 |
10 |
19s (GPS epoch: TAI-19s) |
1981 through 1998 |
11-22 |
20-31s |
1999-01-01 through 2005-01-01 |
23-24 |
32-33s |
2006-01-01 through 2016-01-01 |
25-27 |
34-36s |
2017-01-01 |
28 |
37s (current) |
|
The Leap Second Problem Leap seconds cause issues: - Software bugs (2012 Linux kernel crash) - Financial trading systems synchronization - GPS-UTC offset complexity - Some propose abolishing leap seconds (ITU debate) Solution adopted (2022): Leap seconds will be phased out by 2035, allowing UT1-UTC to diverge up to 1 minute. |
UTC Offset
| Location | Timezone | UTC Offset |
|---|---|---|
Los Angeles |
America/Los_Angeles (PST/PDT) |
UTC-8 / UTC-7 |
New York |
America/New_York (EST/EDT) |
UTC-5 / UTC-4 |
London |
Europe/London (GMT/BST) |
UTC+0 / UTC+1 |
Tokyo |
Asia/Tokyo (JST) |
UTC+9 |
Sydney |
Australia/Sydney (AEST/AEDT) |
UTC+10 / UTC+11 |
Standard Time Zones
Theoretical Zones
Each zone is 15° wide, centered on a standard meridian:
Zone Central Meridian Boundaries UTC+0 0° 7.5°W to 7.5°E UTC+1 15°E 7.5°E to 22.5°E UTC-5 75°W 67.5°W to 82.5°W (EST) UTC-6 90°W 82.5°W to 97.5°W (CST) UTC-7 105°W 97.5°W to 112.5°W (MST) UTC-8 120°W 112.5°W to 127.5°W (PST)
Practical Zones
Real timezone boundaries follow political borders, not meridians.
As discussed - the IANA timezone database uses representative cities:
| Timezone | Representative City |
|---|---|
Eastern |
America/New_York |
Central |
America/Chicago |
Mountain |
America/Denver |
Pacific |
America/Los_Angeles |
Arizona |
America/Phoenix |
Calculating Time from Position
Longitude to Time Difference
Longitude: 98.23°W = -98.23° Time difference from UTC: -98.23° ÷ 15 = -6.55 hours This means solar noon at McAllen is ~6.55 hours after UTC noon. Standard timezone: UTC-6 (Central Time)
Time to Longitude
You observe solar noon at 18:30 UTC. Standard time difference = 18:30 - 12:00 = 6.5 hours Longitude = 6.5 × 15 = 97.5°W (approximately)
The International Date Line
Location
Roughly follows the 180° meridian through the Pacific Ocean.
Rule
-
Crossing westward: Add 1 day
-
Crossing eastward: Subtract 1 day
Flying from Los Angeles to Tokyo: - Depart LA: Monday 10:00 PST (UTC-8) = Monday 18:00 UTC - Flight time: 11 hours - Arrive: Monday 18:00 + 11h = Tuesday 05:00 UTC - Tokyo time (UTC+9): Tuesday 14:00 JST You "lose" a day crossing westward.
Military Time Systems
Zulu Time
Military and aviation use "Zulu" for UTC to ensure global time coordination.
| Zone | Name | UTC Offset | Example Region |
|---|---|---|---|
Z |
Zulu |
UTC+0 |
UK (winter), Iceland |
A |
Alpha |
UTC+1 |
Central Europe (winter) |
B |
Bravo |
UTC+2 |
Eastern Europe (winter) |
C |
Charlie |
UTC+3 |
Moscow, East Africa |
D |
Delta |
UTC+4 |
Gulf States |
E |
Echo |
UTC+5 |
Pakistan, West Russia |
F |
Foxtrot |
UTC+6 |
Bangladesh, Central Asia |
G |
Golf |
UTC+7 |
Vietnam, Western Indonesia |
H |
Hotel |
UTC+8 |
China, Philippines |
I |
India |
UTC+9 |
Japan, Korea |
K |
Kilo |
UTC+10 |
Eastern Australia |
L |
Lima |
UTC+11 |
Solomon Islands |
M |
Mike |
UTC+12 |
New Zealand, Fiji |
| Zone | Name | UTC Offset | Example Region |
|---|---|---|---|
N |
November |
UTC-1 |
Azores |
O |
Oscar |
UTC-2 |
Mid-Atlantic |
P |
Papa |
UTC-3 |
Brazil, Argentina |
Q |
Quebec |
UTC-4 |
Atlantic Canada |
R |
Romeo |
UTC-5 |
US Eastern |
S |
Sierra |
UTC-6 |
US Central |
T |
Tango |
UTC-7 |
US Mountain |
U |
Uniform |
UTC-8 |
US Pacific |
V |
Victor |
UTC-9 |
Alaska |
W |
Whiskey |
UTC-10 |
Hawaii |
X |
X-ray |
UTC-11 |
American Samoa |
Y |
Yankee |
UTC-12 |
Baker Island |
|
J (Juliet) is deliberately skipped and used for "local time" - the observer’s current timezone without specification. "Meeting at 0800J" means 8 AM local time wherever you are. |
Date-Time Group (DTG)
The Date-Time Group is the standardized military format for expressing date and time (STANAG 2014).
DDHHMMZ MMM YY
Where:
DD = Day of month (01-31)
HH = Hours (00-23)
MM = Minutes (00-59)
Z = Time zone letter (Zulu if UTC)
MMM = Month abbreviation (JAN, FEB, MAR, etc.)
YY = Last two digits of year
| DTG | Meaning |
|---|---|
261430Z MAR 26 |
March 26, 2026, 14:30 UTC |
150900R OCT 25 |
October 15, 2025, 09:00 EST (Romeo = UTC-5) |
010000Z JAN 00 |
January 1, 2000, 00:00 UTC (Y2K moment) |
311159Z DEC 99 |
December 31, 1999, 11:59 UTC |
# Generate current DTG
dtg() {
TZ=UTC date +"%d%H%MZ %^b %y"
}
# Parse DTG to Unix timestamp
parse_dtg() {
local dtg="$1" # e.g., "261430Z MAR 26"
local day="${dtg:0:2}"
local hour="${dtg:2:2}"
local min="${dtg:4:2}"
local tz="${dtg:6:1}"
local mon="${dtg:8:3}"
local year="20${dtg:12:2}"
date -d "${year}-${mon}-${day} ${hour}:${min}" +%s
}
# Example
echo "Current DTG: $(dtg)"
# Output: 261430Z MAR 26
Military Message Traffic
FM: COMSIXTHFLT
TO: USS ABRAHAM LINCOLN
DTG: 261200Z MAR 26
SUBJ: OPORD 26-04
1. SITUATION...
2. MISSION...
3. EXECUTION...
a. D-DAY: 281800Z MAR 26
b. H-HOUR: 281800Z MAR 26
4. SERVICE SUPPORT...
5. COMMAND/SIGNAL...
Time on Target (TOT)
Coordinating fires and maneuver requires precise timing:
| Variable | Description | Example |
|---|---|---|
Time of Flight (TOF) |
Weapon flight time |
47 seconds (155mm) |
Travel Time |
Unit movement time |
2 hours 15 minutes |
Prep Time |
Assembly/preparation |
30 minutes |
Mission: Coordinated assault TOT: 281800Z MAR 26 Artillery: - TOF = 47 seconds - Fire time = 281759Z MAR 26 (TOT - 47s) Infantry platoon: - Movement time = 45 minutes - Assembly = 15 minutes - SP (Start Point) = 281700Z MAR 26 Aviation: - Flight time = 20 minutes - Takeoff = 281740Z MAR 26
Synchronization Matrix
| Event | DTG | Relative | Unit |
|---|---|---|---|
SP (Start Point) |
281700Z |
H-1:00 |
Alpha Company |
LD (Line of Departure) |
281745Z |
H-0:15 |
Alpha Company |
Artillery prep fires |
281755Z |
H-0:05 |
1/75 FA |
TOT fires cease |
281758Z |
H-0:02 |
1/75 FA |
H-Hour (assault) |
281800Z |
H+0:00 |
Alpha Company |
CAS on station |
281810Z |
H+0:10 |
Close Air Support |
Time Dissemination Systems
GPS Timing
GPS provides timing as a byproduct of position:
| Service | Accuracy | Application |
|---|---|---|
Standard Position Service (SPS) |
~30 nanoseconds |
Civilian timing |
Precise Position Service (PPS) |
<10 nanoseconds |
Military/government |
Common-view |
<5 nanoseconds |
Laboratory comparisons |
GPS Master Control Station (Schriever AFB)
↓
GPS Satellites (atomic clocks)
↓ L1/L2/L5 signals
GPS Receiver (timing mode)
↓
1PPS (1 Pulse Per Second) output
↓
Local timekeeping system
WWVB Radio Signal
| Parameter | Value |
|---|---|
Frequency |
60 kHz (LF band) |
Location |
Fort Collins, Colorado |
Transmitter power |
70 kW |
Coverage |
Continental US (~3000 km) |
Time code |
BCD (Binary Coded Decimal) |
Frame duration |
1 minute |
Each second is encoded as:
- 0.2s reduced power = binary 0
- 0.5s reduced power = binary 1
- 0.8s reduced power = frame marker
Frame structure (60 seconds):
Second 0: Frame reference marker
Seconds 1-8: Minutes (BCD)
Seconds 9: Unused
Second 10-18: Hours (BCD)
Seconds 19: Unused
Seconds 20-33: Day of year (BCD)
Seconds 34-44: DUT1 correction
Seconds 45-58: Year (last 2 digits, BCD)
Second 59: End marker
NTP (Network Time Protocol)
| Stratum | Source | Accuracy |
|---|---|---|
0 |
Reference clock (GPS, cesium) |
Nanoseconds |
1 |
Directly connected to stratum 0 |
Microseconds |
2 |
Synchronized to stratum 1 |
~10 milliseconds |
3 |
Synchronized to stratum 2 |
~100 milliseconds |
16 |
Unsynchronized |
N/A |
# Check NTP synchronization
timedatectl show-timesync --all
# Query NTP servers
chronyc tracking
# Detailed source info
chronyc sources -v
# Force immediate sync
sudo chronyc makestep
PTP (Precision Time Protocol)
IEEE 1588 PTP provides sub-microsecond synchronization:
| Feature | NTP | PTP |
|---|---|---|
Typical accuracy |
1-10 ms |
10-100 ns |
Network support |
Any IP network |
Requires hardware timestamping |
Complexity |
Low |
High (grandmaster clocks) |
Military use |
General timing |
Critical systems, radar, EW |
Position Accuracy vs Timing
The Fundamental Relationship
Position accuracy is directly coupled to timing accuracy:
Where \(c\) = speed of light (299,792,458 m/s)
| Timing Error | Position Error | Equivalent |
|---|---|---|
1 microsecond |
300 meters |
3 football fields |
1 nanosecond |
0.3 meters |
1 foot |
10 nanoseconds |
3 meters |
GPS SPS typical |
1 picosecond |
0.3 mm |
Optical atomic clock realm |
GPS PDOP and Timing
Geometric dilution of precision affects both position and timing:
Where TDOP is Time Dilution of Precision and UERE is User Equivalent Range Error.
| DOP | Dimension |
|---|---|
HDOP |
Horizontal position |
VDOP |
Vertical position |
PDOP |
3D position |
TDOP |
Time |
GDOP |
Geometric (all) |
Celestial Navigation Timing Requirements
| Timing Error | Position Error (equator) | Practical Impact |
|---|---|---|
4 seconds |
1 nautical mile |
Acceptable for open ocean |
1 second |
0.25 nautical mile |
Good celestial fix |
0.1 second |
150 meters |
Expert navigator |
0.01 second |
15 meters |
Theoretical limit |
|
The 4-Second Rule At the equator, a 4-second timing error produces a 1 nautical mile (1852 m) position error:
\[\text{Error} = \frac{4s}{86400s} \times 360° \times 60 \text{ nm/degree} = 1 \text{ nm}\]
This is why celestial navigators historically used precise chronometers. |
Relativistic Effects
GPS satellites experience time dilation due to:
(Clocks run slower by ~7 μs/day due to orbital velocity)
(Clocks run faster by ~46 μs/day due to weaker gravity)
GPS satellite clocks are intentionally slowed by this amount before launch.
|
Without relativistic corrections, GPS positions would drift by ~10 km/day - making the system useless within hours. |
Daylight Saving Time
US Rules (current)
-
Spring forward: 2nd Sunday in March, 2:00 AM → 3:00 AM
-
Fall back: 1st Sunday in November, 2:00 AM → 1:00 AM
Non-Observing Areas
-
Arizona (except Navajo Nation)
-
Hawaii
-
American Samoa
-
Guam
-
Puerto Rico
-
US Virgin Islands
CLI Time Operations
View All Timezones
# List available timezones
timedatectl list-timezones | grep America
# Current timezone
timedatectl status
# Set timezone
sudo timedatectl set-timezone America/Chicago
Time Conversion
# Current time in different zones
TZ=America/Los_Angeles date
TZ=America/New_York date
TZ=UTC date
# Convert specific time
TZ=America/Chicago date -d "TZ=\"UTC\" 2026-03-14 18:00"
AWK Time Calculation
# tag::time-calc[]
longitude_to_offset() {
# Convert longitude to approximate UTC offset
local lon=$1
awk -v lon="$lon" 'BEGIN {
offset = -lon / 15
# Round to nearest hour
offset = int(offset + 0.5)
if (offset > 0) printf "+%d\n", offset
else printf "%d\n", offset
}'
}
# Example: McAllen longitude
longitude_to_offset -98.23
# Output: -7 (close to actual -6 CST)
# end::time-calc[]
Navigation Time Problems
Problem 1: Position from Time
You’re lost but have an accurate clock.
-
Set watch to UTC before expedition
-
At local apparent noon (sun highest), note UTC time
-
Calculate longitude:
Problem 2: Sunrise/Sunset
Local solar time of sunrise/sunset depends on:
-
Date (day length)
-
Latitude (affects day length)
-
Longitude (affects clock time)
Quick Reference
| Relationship | Value |
|---|---|
1 hour |
15° |
4 minutes |
1° |
1 minute |
0.25° = 15' |
4 seconds |
1' (1 minute of arc) |
| Zone | Winter | Summer (DST) |
|---|---|---|
Pacific |
UTC-8 |
UTC-7 |
Mountain |
UTC-7 |
UTC-6 |
Central |
UTC-6 |
UTC-5 |
Eastern |
UTC-5 |
UTC-4 |
UTC/Zulu |
UTC+0 |
UTC+0 |
Exercises
Drill 1: Time Scale Conversions
TAI - UTC = 37 seconds GPS Time = TAI - 19 seconds DUT1 = +0.15 seconds
Problems:
-
A GPS receiver shows GPS Week 2404, TOW 345678 seconds. What is the UTC time?
-
Your UT1 observation is 12:34:56.789. What is UTC?
-
TAI is 15:00:00.000. What are UTC, GPS Time, and TT?
Solution
-
GPS Week 2404, TOW 345678:
-
GPS epoch: Jan 6, 1980
-
Days from epoch: 2404 × 7 + 345678/86400 = 16828 + 4.0 = 16832 days
-
GPS Time: 95h 34m 38s into week
-
UTC = GPS - 18s (leap seconds since 1980)
-
Result: Saturday, ~95.5 hours into week, minus 18 seconds
-
-
UT1 to UTC:
-
UTC = UT1 - DUT1 = 12:34:56.789 - 0.15s = 12:34:56.639
-
-
TAI = 15:00:00.000:
-
UTC = TAI - 37s = 14:59:23.000
-
GPS = TAI - 19s = 14:59:41.000
-
TT = TAI + 32.184s = 15:00:32.184
-
Drill 2: Date-Time Group Operations
Write the correct DTG for:
-
April 15, 2026, 3:45 PM Central Daylight Time
-
January 1, 2027, midnight at Greenwich
-
Your current time (execute the bash function)
Convert these DTGs:
-
091630Z APR 26 to local time (Pacific Daylight)
-
312359Z DEC 25 to Japan Standard Time
-
150800R MAY 26 to UTC
Solution
-
April 15, 2026, 3:45 PM CDT (UTC-5):
-
UTC = 15:45 + 5h = 20:45
-
DTG: 152045Z APR 26
-
-
January 1, 2027, midnight Greenwich:
-
DTG: 010000Z JAN 27
-
-
Use:
TZ=UTC date +"%d%H%MZ %^b %y" -
091630Z APR 26 to PDT (UTC-7):
-
16:30 - 7h = 09:30 local
-
Answer: 0930 PDT, April 9, 2026
-
-
312359Z DEC 25 to JST (UTC+9):
-
23:59 + 9h = 32:59 → 08:59 +1 day
-
Answer: 0859 JST, January 1, 2026
-
-
150800R MAY 26 to UTC:
-
R = Romeo = UTC-5
-
08:00 + 5h = 13:00
-
Answer: 151300Z MAY 26
-
Drill 3: Sidereal Time Calculation
Date: July 4, 2026 Time: 21:00 UTC Observer longitude: 104°W (Denver, CO) Right Ascension of Vega: 18h 36m 56s
Problems:
-
Calculate the Julian Date
-
Calculate GMST at 21:00 UTC
-
Calculate LST at Denver
-
Will Vega be visible (above horizon)?
-
When will Vega transit the meridian?
Solution
-
Julian Date for July 4, 2026, 21:00 UTC:
-
Using formula: JD = 2461198.375
-
-
GMST calculation:
-
Days from J2000: 2461198.375 - 2451545.0 = 9653.375
-
θ₀ = 280.461 + 360.9856 × 9653.375 = …° (mod 360)
-
GMST ≈ 12.8 hours
-
-
LST at Denver (104°W):
-
LST = GMST + λ/15 = 12.8 + (-104/15) = 12.8 - 6.93 = 5.87 hours
-
LST ≈ 5h 52m
-
-
Vega visibility:
-
Vega RA = 18h 37m
-
Hour angle = LST - RA = 5.87 - 18.62 = -12.75h (or +11.25h)
-
Vega is 11+ hours from meridian, in eastern sky, VISIBLE
-
-
Vega transit:
-
Transit when LST = RA = 18h 37m
-
Need LST to advance: 18.62 - 5.87 = 12.75 sidereal hours
-
In solar time: 12.75 × (23.934/24) ≈ 12.7 hours
-
Transit time: 21:00 + 12.7h = ~09:42 UTC July 5
-
Drill 4: GPS/UTC Conversions
Current leap seconds since 1980: 18 GPS Week rollover: Every 1024 weeks Last rollover: April 6, 2019 (Week 2048)
Problems:
-
Convert GPS Week 2404, Second 432000 to calendar date/time
-
What GPS Week will it be on December 31, 2035?
-
A legacy receiver shows Week 890. What are the two possible interpretations?
Solution
-
GPS Week 2404, Second 432000:
-
Days since GPS epoch: 2404 × 7 = 16828 days
-
Time within week: 432000s = 5 days, 0 hours
-
Total days from Jan 6, 1980: 16833 days
-
Calendar date: ~January 2026, 5th day of week (Thursday)
-
Apply UTC offset: subtract 18 seconds
-
-
December 31, 2035:
-
Days from Jan 6, 1980 to Dec 31, 2035: ~20,448 days
-
Weeks: 20448 / 7 = 2921 weeks
-
-
Week 890 interpretation:
-
Could be actual week 890 (around 1997)
-
Could be week 890 + 1024 = 1914 (around 2016)
-
Could be week 890 + 2048 = 2938 (around 2036)
-
Context determines which interpretation is correct
-
Drill 5: Time on Target Planning
H-Hour: 281800Z MAR 26 Artillery TOF: 47 seconds Mortar TOF: 22 seconds Infantry movement: 2.5 km at 4 km/hr Assembly time: 20 minutes Aviation flight time: 35 minutes Smoke mission duration: 4 minutes
Plan the synchronization:
-
Calculate artillery fire time for TOT at H-Hour
-
Calculate mortar fire time for smoke at H-2 minutes
-
Calculate infantry SP time (allow 15% time buffer)
-
Calculate aviation takeoff time
-
Create a complete synchronization matrix
Solution
-
Artillery fire time:
-
TOT = 281800Z
-
Fire = 281800Z - 47s = 281759Z (281759:13)
-
-
Mortar smoke at H-2:
-
Smoke impact = 281758Z
-
Fire = 281758Z - 22s = 281757Z (281757:38)
-
-
Infantry SP:
-
Movement time = 2.5km / 4km/hr = 37.5 minutes
-
Buffer: 37.5 × 1.15 = 43 minutes
-
Total: 43 + 20 (assembly) = 63 minutes
-
SP = 281800Z - 63min = 281657Z
-
-
Aviation:
-
Takeoff = 281800Z - 35min = 281725Z
-
-
Synchronization Matrix:
| Event | DTG | Relative |
|---|---|---|
Infantry SP |
281657Z |
H-1:03 |
Aviation takeoff |
281725Z |
H-0:35 |
Mortar smoke fire |
281738Z |
H-0:22 |
Mortar smoke impact |
281758Z |
H-0:02 |
Artillery fire |
281759Z |
H-0:01 |
H-Hour |
281800Z |
H+0:00 |
Drill 6: Navigation Problem (Comprehensive)
You are in survival situation with only: - UTC watch (accurate) - Nautical Almanac (current) - Star chart Observations: - Local apparent noon: Watch shows 19:23:15 UTC - Equation of Time for today: +3 minutes 20 seconds - Polaris altitude: 38°45'
Determine:
-
Your longitude
-
Your latitude
-
Your approximate location on Earth
-
The standard timezone you’re likely in
Solution
-
Longitude calculation:
-
Mean solar noon UTC = 19:23:15 + 3m 20s = 19:26:35 UTC
-
Longitude = (19:26:35 - 12:00:00) × 15°/hr
-
= 7:26:35 × 15° = 7.443h × 15° = 111.65°W
-
-
Latitude calculation:
-
Polaris altitude ≈ latitude
-
Latitude = 38°45’N
-
-
Location:
-
38°45’N, 111°39’W
-
This is in central Utah, near Capitol Reef National Park
-
-
Standard timezone:
-
111.65°W / 15 = 7.44
-
Rounds to UTC-7 = Mountain Standard Time
-
(Could be UTC-6 MST or UTC-7 during DST depending on date)
-
Drill 7: Relativistic GPS Calculation
Calculate the cumulative clock error without relativistic corrections:
-
Special relativity slows GPS clocks by 7.2 μs/day. After 24 hours, what is the position error?
-
General relativity speeds GPS clocks by 45.9 μs/day. After 24 hours, what is the position error?
-
What is the net effect after 24 hours?
-
What would be the error after 1 week without corrections?
Solution
-
Special Relativity effect:
-
Clock slow by 7.2 μs/day
-
Position error = c × Δt = 3×10⁸ m/s × 7.2×10⁻⁶ s
-
= 2.16 km/day (clock behind, position ahead)
-
-
General Relativity effect:
-
Clock fast by 45.9 μs/day
-
Position error = 3×10⁸ × 45.9×10⁻⁶
-
= 13.77 km/day (clock ahead, position behind)
-
-
Net effect (24 hours):
-
Net clock fast: 45.9 - 7.2 = 38.7 μs/day
-
Net position error = 3×10⁸ × 38.7×10⁻⁶
-
= 11.61 km/day drift
-
-
After 1 week:
-
11.61 km × 7 = 81.3 km error
-
GPS would be completely unusable
-
Summary
| Relationship | Formula |
|---|---|
Longitude-Time |
1 hour = 15°, 4 min = 1° |
TAI to UTC |
UTC = TAI - leap_seconds |
GPS to UTC |
UTC = GPS - (leap_seconds - 19) |
GMST |
θ = 280.46 + 360.986d + … |
LST |
LST = GMST + λ/15 |
Julian Date |
JD = 367Y - ⌊7(Y+⌊(M+9)/12⌋)/4⌋ + … |
Position error |
Δx = c × Δt |
| Constant | Value |
|---|---|
TAI - UTC (2026) |
37 seconds |
GPS - TAI |
-19 seconds |
TT - TAI |
+32.184 seconds |
Sidereal day |
23h 56m 4.091s |
Speed of light |
299,792,458 m/s |
Next
Continue to Practical Land Navigation for field application.