How many countries are in the European Union? Tonight, 31 January 2020, Brexit will happen and the United Kingdom will leave the European Union, the first time that the number of EU member states will decrease. 

Your job is to take a date and output the number of EU1 members on that date, according to the following table:

| Start      | End        | Number of members 
| 0          | 1957-12-31 | 0
| 1958-01-01 | 1972-12-31 | 6
| 1973-01-01 | 1980-12-31 | 9
| 1981-01-01 | 1985-12-31 | 10
| 1986-01-01 | 1994-12-31 | 12
| 1995-01-01 | 2004-04-30 | 15
| 2004-05-01 | 2006-12-31 | 25
| 2007-01-01 | 2013-06-30 | 27
| 2013-07-01 | 2020-01-31 | 28
| 2020-02-01 | Inf        | 27


Input may take one of the following forms:


your language's date format
any ordering of integers for year, month and day with any separator (e.g. YYYYMMDD or DD/MM/YYYY)
number of days lapsed since some epoch.


This is code-golf, so shortest code wins!

1. or EEC before 1993
Javascript, 85 83 Bytes
a=d=&gt;d&lt;0?0:d&lt;180?6:d&lt;276?9:d&lt;336?10:d&lt;444?12:d&lt;556?15:d&lt;588?25:d&lt;666?27:d&lt;745?28:27

It takes an input as a float as the months / fractions of months passed since 1958-01-01
(0 for 1958-01-01T00:00:00 and a negative number for any previous date)
(Since number of days from some epoch is allowed, I assume that also a number of months is valid, as well)
Try it Online

80 Bytes
(credits: Arnauld)
a=d=&gt;d&lt;0?0:d&lt;180?6:d&lt;276?9:d&lt;336?10:d&lt;444?12:d&lt;556?15:d&lt;588?25:27+(d&gt;=666&amp;d&lt;745)


Sad to see you go, UK