strtotime前方または後方にシフトする時間の文字列の説明、つまり「+1時間、15分」、「-2時間、45分」を使用して、いくつかの相対的なタイムスタンプを取得するために使用しています。
これは完全に機能します:
$ds = strtotime('02/20/11 09:30:00 -1 hour');
ただし、「-1時間15分」の場合strtotimeは、時間を引いてから15分を足したようです。
カンマで試しました:http://codepad.org/3dq7c2GM
私はここに来て、これについての前の質問を見て、コンマなしでそれを試しました:http: //codepad.org/G8gm8E84
まだ運がない。相対パラメータを使用してみました:http://codepad.org/nwZ9ZqOv 何もありません。
私は自分自身の解決策を見つけましたが、それはかなり直感的ではありません。何かが足りないのか、あるいはこれに間違ってアプローチしているのかはわかりません。動作するバージョンは次のようになります。
$ds = strtotime('02/20/11 09:30:00 -1 hour -15 minutes');
ここで何かが足りませんか?ドキュメントでは、この種の動作については言及されていません。また、文字列ベースの期間を使用してそのような相対タイムスタンプを取得するためのより良い方法はありますか?
編集
これらの文字列のソースを追加するために編集されました-それらはAJAXを介してユーザーインターフェースから来ています。表示フィールドの期間を15分間隔でインクリメント/デクリメントする+/-ボタンを備えたフォームコントロールがあります。それらが変更されると、AJAXリクエストはこれらの値をサーバーに送信し、を介してエポックタイムスタンプstrtotimeに変換され、データベースに保存されます。