Ваша проблема не с AngularJS, это связано с использованием JavaScript новой Date(). Из документации JavaScript на w3schools:
При определении даты, без указания часового пояса, JavaScript будет использовать часовой пояс браузера. Другими словами: если дата/время составляет , созданное в GMT (среднее время по Гринвичу), дата/время будут преобразованы в CDT (Central US Daylight Time), если пользователь просматривает данные из центральной части США.
Что происходит с вами, так это то, что ваше время переводится в часовой пояс вашего браузера и предполагается, что вы устанавливаете время как GMT.
Чтобы подтвердить свою мысль, перейдите на эту страницу тестера на w3schools и введите время из вашего примера, и вы увидите, что отображаемый результат на самом деле отличается.
@Chris Story прав, вы должны попробовать использовать некоторую библиотеку DateTime Javascript, такую как Moment. http://momentjs.com/ –
+1 для momentjs. Существует даже [угловой момент] (https://github.com/urish/angular-moment), который предоставляет директивы. – Lex