Train NS 2116 Den Haag Centraal – Amsterdam Centraal

Den Haag Centraal 07:47 → Amsterdam Centraal 08:40 Mon, Tue, Wed, Thu, Fri 0 h 53 min · 6 stops NS (Nederlandse Spoorwegen)

It does not run today

Last recorded run: Friday 9 October +5 min

Next service: tomorrow 07:47 from Den Haag Centraal · Mon 12 Oct

Next departure 07:47 tomorrow · Den Haag Centraal
On-time · 30 days
85%
17/20 runs under 3 min
RT coverage: 19 full · 1 partial · 0 no data
On-time · 90 days
91%
58/64 runs under 3 min
RT coverage: 63 full · 1 partial · 2 no data
Typical delay
−1min
Median at arrival, 90 days
30 days: 0 min
P90
+3min
9 in 10 runs arrive with less than this
30 days: +5 min

Last 30 days

Arrival delay at Amsterdam Centraal, in minutes. One bar per run.

  • On time (<3 min)
  • 3–10 min
  • 10–30 min
  • 30+ min
  • Partial coverage
  • No data

Worst days

  • Tue 25 Aug Max en route +29 min · last fix heading to Amsterdam Sloterdijk +29 min
  • Tue 1 Sept Max en route +9 min · last fix heading to Amsterdam Sloterdijk +9 min
  • Fri 18 Sept Max en route +8 min · last fix heading to Amsterdam Sloterdijk +8 min
  • Thu 1 Oct Max en route +9 min · last fix heading to Haarlem +7 min
  • Tue 11 Aug Max en route +5 min · last fix heading to Amsterdam Sloterdijk +5 min

Distribution · 90 days

64 runs with a known final delay. On time = under 3 min, the same cut the map uses.

  • Early 50% · 32
  • On time 41% · 26
  • 3–10 min 8% · 5
  • 10–30 min 2% · 1
  • 30+ min 0% · 0

On-time by weekday

  • 100% M n=12
  • 77% T n=13
  • 100% W n=12
  • 92% T n=12
  • 83% F n=12
  • 100% S n=2
  • 100% S n=1

Stops and timetable

Timetable of the latest run from the operator’s GTFS (6 stops).

Each run is closed into train_runs (country, train number, service day) from the live positions. Final delay = last delay seen. Partial coverage: the feed stopped before the final stop (last value used, hatched in the chart). No data: a run without any valid delay; counts as neither on time nor late. Data collected since 11 July 2026.

Recent runs

DateLast stopFinalMax
Fri 9 OctAmsterdam Sloterdijk 08:53Partial coverage+5 min+5 min
Thu 8 OctAmsterdam Sloterdijk 08:51+2 min+3 min
Wed 7 OctAmsterdam Sloterdijk 08:490 min—
Tue 6 OctAmsterdam Sloterdijk 08:51+2 min+3 min
Mon 5 OctAmsterdam Sloterdijk 12:200 min+44 min
Fri 2 OctAmsterdam Sloterdijk 00:44+1 min+3 min
Thu 1 OctHaarlem 18:22+7 min+9 min
Wed 30 SeptAmsterdam Sloterdijk 23:340 min+13 min
Tue 29 SeptAmsterdam Sloterdijk 01:11−2 min+25 min
Mon 28 SeptAmsterdam Sloterdijk 00:56−3 min+7 min
Fri 25 SeptHaarlem 20:52−1 min+22 min
Thu 24 SeptHaarlem 22:10+1 min+12 min
Wed 23 SeptAmsterdam Sloterdijk 00:470 min+14 min
Tue 22 SeptAmsterdam Sloterdijk 19:59−3 min+5 min
Mon 21 SeptAmsterdam Sloterdijk 00:19−3 min+3 min
Fri 18 SeptAmsterdam Sloterdijk 01:02+8 min+8 min
Thu 17 SeptAmsterdam Sloterdijk 00:04−4 min+3 min
Wed 16 SeptHaarlem 00:17−1 min+6 min
Tue 15 SeptHaarlem 01:07−2 min+15 min
Mon 14 SeptAmsterdam Sloterdijk 20:28−6 min+6 min
Fri 11 SeptAmsterdam Sloterdijk 23:08−4 min+6 min
Thu 10 SeptAmsterdam Sloterdijk 20:000 min+17 min
Tue 8 SeptAmsterdam Sloterdijk 00:26−2 min+4 min
Mon 7 SeptAmsterdam Sloterdijk 00:46−1 min+3 min
Fri 4 SeptHaarlem 22:58−2 min—
Thu 3 SeptAmsterdam Sloterdijk 21:31+3 min+3 min
Wed 2 SeptHaarlem 21:39−1 min+13 min
Tue 1 SeptAmsterdam Sloterdijk 00:49+9 min+9 min
Mon 31 AugAmsterdam Sloterdijk 20:27−3 min—
Sat 29 AugAmsterdam Sloterdijk 23:030 min+1 min