Using a Tally Table (or in this case a CTE) it's really easy to do it.
Here's an example:
WITH e1(n) AS(
SELECT * FROM (VALUES(1),(1),(1),(1),(1),(1),(1),(1),(1),(1))x(n)
),
e2(n) AS(
SELECT e1.n FROM e1, e1 x
),
e4(n) AS(
SELECT e2.n FROM e2, e2 x
),
e8(n) AS(
SELECT e4.n FROM e4, e4 x
),
cteTally(n) AS(
SELECT TOP 6307204 ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) - 1
FROM e8
),
Test(n) AS(
SELECT DATEADD( minute, n, DATEADD( YEAR, -2, GETDATE()))
FROM cteTally)
SELECT MIN(n), MAX(n)
FROM Test
WHERE n <= DATEADD( YEAR, 10, GETDATE())
It won't give you the exact table you need but at least you'll have to analyze it to use it. If you have questions, feel free to ask.