ドゥアイネットのプログラマー、湯川が開発日記を綴ります。

CALENDAR
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
<< December 2019 >>
ARCHIVES
CATEGORIES
<< Google mapのジオコーダー | main | 役割でわける >>
日付の差を計算するときに
「かんたん!スケジューラ」をご利用いただいているユーザーさんから、「3/20〜3/31に予定を入力したんだけど、3/19〜3/30に表示されるんだけど」という不具合報告を受けました。

内部で日付の差を計算するところがあるんですが、
以下のように結果を切り捨てていました。
Math.floor((v_end.getTime() - v_start.getTime()) / 86400000)

3/1から3/20の差を計算すると、求めたい値は19ですが、

タイムゾーンが「太平洋標準時(米国およびカナダ)」の場合
(1269068400000 - 1267430400000) / 86400000 = 18.9583333333333

タイムゾーンが「大阪、札幌、東京」の場合
(1269010800000 - 1267369200000) / 86400000 = 19

端数はでるはずは無いと思っていましたが、結果を切り上げないといけないようです。
| mixiアプリ | 13:57 | comments(0) | - |
コメント
コメントする