Train NS 2112 Den Haag Centraal – Amsterdam Centraal

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

✓ Today’s run finished

Today, last fix heading to Amsterdam Sloterdijk at 07:49 0 min

  1. Den Haag Centraal06:51
  2. Leiden Centraal07:02
  3. Heemstede-Aerdenhout07:18
  4. Haarlem07:23
  5. Amsterdam Sloterdijk07:34
  6. Amsterdam Centraal07:40

Next service: tomorrow 06:51 from Den Haag Centraal · Thu 15 Oct

Next departure 06:51 tomorrow · Den Haag Centraal
On-time · 30 days
96%
22/23 runs under 3 min
RT coverage: 21 full · 2 partial · 0 no data
On-time · 90 days
95%
56/59 runs under 3 min
RT coverage: 57 full · 2 partial · 8 no data
Typical delay
−1min
Median at arrival, 90 days
30 days: −1 min
P90
+1min
9 in 10 runs arrive with less than this
30 days: +2 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

  • Thu 30 Jul Max en route +7 min · last fix heading to Amsterdam Sloterdijk +7 min
  • Sat 19 Sept Max en route +6 min · last fix heading to Amsterdam Sloterdijk +6 min
  • Fri 11 Sept Max en route +19 min · last fix heading to Haarlem +3 min

Distribution · 90 days

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

  • Early 54% · 32
  • On time 41% · 24
  • 3–10 min 5% · 3
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 100% M n=12
  • 100% T n=10
  • 100% W n=12
  • 91% T n=11
  • 92% F n=12
  • 50% S n=2
  • — S n=0

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
Wed 14 OctAmsterdam Sloterdijk 07:49Partial coverage0 min—
Tue 13 OctAmsterdam Sloterdijk 07:490 min—
Mon 12 OctAmsterdam Sloterdijk 07:510 min—
Fri 9 OctAmsterdam Sloterdijk 07:49+1 min+1 min
Thu 8 OctAmsterdam Sloterdijk 07:51+3 min+3 min
Wed 7 OctAmsterdam Sloterdijk 07:50Partial coverage+1 min+2 min
Tue 6 OctAmsterdam Sloterdijk 07:50+1 min+2 min
Mon 5 OctAmsterdam Sloterdijk 12:20−1 min+2 min
Fri 2 OctAmsterdam Sloterdijk 00:24−1 min+5 min
Thu 1 OctAmsterdam Sloterdijk 21:51−2 min+7 min
Wed 30 SeptHaarlem 00:43−1 min+4 min
Tue 29 SeptHaarlem 00:14−1 min+4 min
Mon 28 SeptHaarlem 18:52−1 min+6 min
Fri 25 SeptAmsterdam Sloterdijk 19:48−1 min+5 min
Thu 24 SeptAmsterdam Sloterdijk 19:33−3 min+5 min
Wed 23 SeptAmsterdam Sloterdijk 23:230 min+11 min
Tue 22 SeptAmsterdam Sloterdijk 00:44−2 min+6 min
Mon 21 SeptAmsterdam Sloterdijk 01:01−1 min+5 min
Sat 19 SeptAmsterdam Sloterdijk 00:01+6 min+6 min
Fri 18 SeptAmsterdam Sloterdijk 23:44+2 min+13 min
Thu 17 SeptAmsterdam Sloterdijk 00:43−2 min+2 min
Wed 16 SeptAmsterdam Sloterdijk 19:45−3 min+3 min
Tue 15 SeptAmsterdam Sloterdijk 00:25−2 min+6 min
Mon 14 SeptAmsterdam Sloterdijk 07:51No data—
Fri 11 SeptHaarlem 19:09+3 min+19 min
Thu 10 SeptAmsterdam Sloterdijk 00:42−6 min+8 min
Tue 8 SeptAmsterdam Sloterdijk 23:11−4 min+5 min
Mon 7 SeptAmsterdam Sloterdijk 00:57−2 min+3 min
Fri 4 SeptAmsterdam Sloterdijk 01:160 min+7 min
Thu 3 SeptAmsterdam Sloterdijk 23:11−3 min+9 min