wsse.jsのタイムゾーンの計算がおかしい気がする

Movable TypeではAtomAPIでの認証にWSSEというのを使うらしい。よくわからないので調べてたところJavascriptでWSSEヘッダを生成できるVictor R. Ruiz氏作のwsse.jsを発見。これをありがたく使わせてもらってかなり良い感じに動いてたけど、それから何もいじらず置いといたのに、夜が更けたら突然Status Code:403が返るようになってしまった。

最初はMTを置いてるサーバーの不調とかを疑ったけど、念のためリクエストヘッダを見直してみたら、wsse.jsで生成されているヘッダのCreatedがどうやらおかしい。ここは日本なのに、2007-02-04T00:11:42-15:00となっている。本当は2007-02-04T00:11:42+09:00が正しいはず。ってことで日付の計算の部分を見ると、タイムゾーンの計算でdayを考慮せずにhourだけでUTCとの引き算をしちゃってるみたい。ようするに日付が変わっちゃうとUTCの日付も変わるまでずっとエラーってこと、かな。

日時の計算って難しいし、っていうか日本でしか使わないしと思って+09:00って直接書いて逃げといたけど、本当にちゃんと計算するならどう書くべきなのかな。頭良い人居たら教えてください。