30 minutes

1. 8 years当然是名词性短语。

只不过在此类句型中,8 years是副词性的名词短语,在句中做表语。

2. 30-minute = 30 minutes',在句中一般做前置定语。

8-year-old无法换成同样的前置定语,不过可以换成of 8 years old这样的后置定语。

即:He is an 8-year-old boy. = He is a boy of 8 years old.