調べる:
PHPのDateTimeクラスにはdiffメソッドがある。
あるインスタンスAで他のインスタンスBを引数にとってdiffメソッドを実行すると
DateIntervalインスタンスCが出てくる。
C = A.diff(B)
また,DateTimeクラスにはDateIntervalを引数に取るsubメソッドがあり,
インスタンスA自身の時刻を変更すると共に自分自身を返す。
A.sub(C)
このとき,Aおよびその戻り値とBは等しい時刻を指すはずである。
これは恐らくAが先の日付でもBが先の日付でも成り立つと思う。(要再検証)
再検証がうまくいけばDateIntervalは正負の区別があることになる。
ところで,DateIntervalのコンストラクタを見ると
おそらくISO 8601の書式であろう文字列を引数に取る…ものしかない。
http://jp2.php.net/manual/en/datetime.sub.php
さて,負の値の書式は?そのまま負の値を入れるとエラーが起きるようなんだけど・・・
一応ISO 8601では各項目に小数を指定できるようになっているようだ・・・がPHP6で読み込ませると何故かエラーが出るっぽい。
http://en.wikipedia.org/wiki/ISO_8601#Durations
伝わるようにかけたか解らんが,まぁそんな感じのことで悩んでいる。
PHPのDateTimeクラスにはdiffメソッドがある。
あるインスタンスAで他のインスタンスBを引数にとってdiffメソッドを実行すると
DateIntervalインスタンスCが出てくる。
C = A.diff(B)
また,DateTimeクラスにはDateIntervalを引数に取るsubメソッドがあり,
インスタンスA自身の時刻を変更すると共に自分自身を返す。
A.sub(C)
このとき,Aおよびその戻り値とBは等しい時刻を指すはずである。
これは恐らくAが先の日付でもBが先の日付でも成り立つと思う。(要再検証)
再検証がうまくいけばDateIntervalは正負の区別があることになる。
ところで,DateIntervalのコンストラクタを見ると
おそらくISO 8601の書式であろう文字列を引数に取る…ものしかない。
http://jp2.php.net/manual/en/datetime.sub.php
さて,負の値の書式は?そのまま負の値を入れるとエラーが起きるようなんだけど・・・
一応ISO 8601では各項目に小数を指定できるようになっているようだ・・・がPHP6で読み込ませると何故かエラーが出るっぽい。
http://en.wikipedia.org/wiki/ISO_8601#Durations
伝わるようにかけたか解らんが,まぁそんな感じのことで悩んでいる。