Już działa.
http://jsfiddle.net/m72m72/7b1s5Lnd/Reasumując żeby wyświetlić poprawną datę to:
Przy definiowaniu daty jako terźniejszą chwilę nie trzeba "offsetować", czyli:
var teraz = new Date(); // Jest godzina np:12:00:00
console.log(teraz); //np: Date 2014-08-29T10:00:00.000Z - w dacie samoistnie odejmują się 2 godziny
console.log('teraz='+teraz); //np: Date 2014-08-29T12:00:00.000Z przy wyświetlaniu daty łącznie ze stringiem nie wiem czemu ale spowrotem się dodają brakujące godziny :)
Z kolei przy definiowaniu daty "z palca" trzeba uwzględnić offset:
var data = new Date(2014,08-1,29,12,00,00); // odejmujemy 1 godzinę (też nie wiem czemu ale działa)
var offset_data = data.getTimezoneOffset()* 60000; // wyliczamy offset * 60000 (bo minuta to 60000 milisekund) a offset jest w minutach
console.log(data); // tutaj dostajemy godzinę 10 czyli w zmiennej odjęte są 2 godziny
console.log('data= '+data); // i znów przy wyświetlaniu daty łącznie ze stringiem godziny są korygowane
ps. nieźle to jest pierdzielnięte
Niech mądrzejsi odemnie to poprawią albo skomentują i będzie dla potomnych