Preheat the oven to 180C. Grease and line a baking pan.
Peel and grate the carrots and set aside.
In a large bowl, whisk the oil, sugar, and vanilla for a few minutes until the sugar starts to dissolve. Then stir in the milk.
Sift in the flour, baking powder, baking soda, cinnamon, ginger, nutmeg and salt and gently combine.
Stir in the hazelnuts, dates and grated carrot.
Transfer the batter into the baking pan and cook for about 25 minutes or until lightly golden on the edges.
Allow to cool for about 10 minutes, then turn out onto a wire rack and let cool completely.
Meanwhile, prepare the frosting:
Combine all the frosting ingredients into a bowl with a hand mixer on low. Mix until well-incorporated and fluffy. Do not overmix!
Spread the cream cheese on the cake and sprinkle with grated carrots and finely chopped hazelnuts.