問題タブ [date-math]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHPは時差を分単位で取得します
私は周りを見回しましたが、データベースのレイアウトでうまく機能するものは何もありませんでした。基本的には、現在の時刻とあらかじめ決められたイベント時刻を取得し、現在の時刻がイベント時刻の 10 分前かどうかを確認する必要があります。これは私のテスト ファイルです。現在の時刻を変数に取得し、データベース テーブルから eventTime を取得し、イベント時刻を変数に設定し、イベント時刻から現在の時刻を減算して、差を出力します。問題は、分が必要なことです。時間だけが出力されます。
たとえば、11:00 - 9:15 は 1 を返します。105 (分数) と言うには 1 が必要です。
データベースはイベント時間を 24 時間形式で時間と分 (例: 13:01) で保存し、現在の時刻は date("H:i") を使用して PHP で同じ形式で設定されます。
ここにいくつかのテスト コードがあります。インクルード dbconnect.php は、データベースに接続する方法です。
ご協力いただきありがとうございます。
Gamster Katalin と John Conde のおかげで解決しました。作業コードは次のとおりです。
mysql - MySQL では、somedate - otherdate が返されます。
SOMEDATE - ANOTHERDATE を使用すると、これまでに使用したほとんどの DB が 2 つの日付間の日数の差を返すので、私はただ興味があります。
MySQL は数値を返すようです..ええと..わかりません。時にはそれは秒です。たまにはただのゴミ
2013-06-05 09:57:59 - 2013-06-05 09:57:33 = 26 そして、はい、26 秒がこれら 2 つの時間の正しい差です
2013-06-03 00:23:07 - 2013-06-02 23:49:51 = 12789 でも 待って.. 12789 は 3.5 時間ですが、これらの時間の違いは約 30 分だけです
では、MySQL に 2 つの日付型を与えて、もう一方から 1 を差し引くように指示すると、MySQL は実際にフードの下で何をしているのでしょうか? この数字の結果は何を表していますか?
php - PHP/MySQL の予約/予約システムのベスト プラクティス
私が現在取り組んでいる美容院の PHP/MySQL 予約システムの「ベスト プラクティス」と戦ってくれる人が必要です。うまくいけば、後でシステムをやり直す必要がないように、一緒にいくつかの問題を解決できます。いくつかのチュートリアル、ベスト プラクティスなどについて SO と Google を見てきましたが、自分のニーズに合ったものは見つかりませんでした。
基本情報
毎日複数の美容師が利用できます。各美容師は、顧客との予定を含む独自の議題を持っています。美容師に接続されているのは、その美容師が週に利用できる時間を含むテーブルです。
表:人
テーブル: times (このテーブルには主キーがあります。以下のスケジュールから除外しました)
ご覧のとおり、人と時間の間には 1 対多の関係があります (明らかに、1 週間は 7 日なので)。しかし、それ以外にも、1 日の時間の間に休憩を追加するオプションもあります (people_id = 1、day_of_week = 1: 08:00-12:00 および 12:30-17:00 を参照)。
さらに、'hairdress_types' というテーブルがあります。これは、さまざまなタイプの予約 (髪を染める、髪を切る、洗うなど) を含むテーブルです。このテーブルには、この予定にかかる時間が分単位で含まれています。
最後に、appointments
非常に単純なテーブルがあります。
開始日と終了日は MySQL の完全な DATETIME フィールドになり、MySQL クエリ関数を使用して計算しやすくなります。
ベストプラクティスは何ですか?
したがって、私が設定した方法では、フロントエンド ユーザーがフィールドで日付を選択し、選択した日付に利用可能なすべての美容師を検索する ajax/jquery 関数をトリガーします。次に、ユーザーは美容師 (これは必須ではありません。ユーザーは「任意の」美容師オプションを選択することもできます) と、希望する予約の種類を指定します。
最初のフォームを送信した後、次の情報を使用できます。
- 日付(日、月、年)
- people_id ('Any' の場合は 0、または美容師が選択されている場合は ID)
- hairdress_type (予約にかかる分数にリンクされています)
この情報を使用して、選択した美容師から利用可能な日付を選択するか、利用可能なすべての美容師とその利用可能な日付をループします。
これは私の心が精神的に崩壊する場所です!利用可能な日付を確認する最良の方法は何ですか。私が最善だと思った方法は次のとおりです。
- 指定された日付の美容師の時間を照会します (一度に 1 つずつ)
- query1 の結果の startdate + 予定の種類にかかる分数を使用して、予定テーブルをクエリします (つまり:
SELECT * FROM appointments WHERE ((date_start >= $start AND date_start <= ($start+$time)) OR (date_end > $start AND date_end <= ($start+$time)) AND people_id = 1
) 。 - 結果が見つからないとすぐに、このスポットは無料であると想定し、これはユーザーのオプションとして提示されます
私が直面しているより大きな問題は、ポイント 2 です。私の心は、このクエリで本当に狂っています。これは、特定の期間に一致する予定を見つけるために必要な完全なクエリですか?
読んで、一緒に考えてくれてありがとう!:-)
// 編集: もう少し "testdata":
ジョン - 月曜日 - 12:00 - 17:00。予約: - 12:00 - 12:30 - 14:30 - 15:30
ユーザーが 2 時間かかる予定を希望している場合、上記の例では次のことを確認します。
- 12:00から14:00の間にアポイントメントはありますか? はい、次のスポットに進みます
- 14:00から16:00の間にアポイントメントはありますか? はい、次のスポットに進みます
- 16:00から18:00の間にアポイントはありますか?エラー、17:00以降は利用できません
したがって..10/15分の「タイムブロック」を使用する方が良いオプションかもしれません。チェックを行う:
- 12:00 - 14:00
- 12:10 - 14:10
- 12:20~14:20 など
これにより、12:30 から 14:30 までの空きスポットが見つかります。
// 編集 2: ステップ 2 への可能なクエリ
私は紙の上にいくつかのものを作ってきました(予定と使用する可能性のある空きスペースを含むテーブル)。そして、私は次のことを思いつきました。次の場合は予約できません。
- start_date が $start と $end の間にある予定があります
- $start と $end の間に end_date の予定があります
- start_date < $start and end_date > $end の予定があります
上記を一緒に予定表に照会すると、people_id
行がない (= フリー・スポット) か、1 つまたは複数の行になり、その場合はスポットが使用されます。
オープン スポットを見つける最善の方法は、10 分の開始間隔で X 分のブロックをデータベースにクエリすることだと思います。このソリューションの悪い面は、1 時間ごとに 6 つのクエリを必要とすることです。これは、美容師ごとに約 48 クエリになります...そのクエリの量を減らす方法についてのアイデアはありますか?
ruby-on-rails - Rails 3 埋め込まれたレコードの年齢を計算する
私はmongodbを使用しており、コメントを埋め込みドキュメントとして追加するモデルを持っています。
エントリのコメントの平均年齢を取得するにはどうすればよいですか? (相対的な例、私の分野は少し異なります)
そのため、1 つのエントリに多くのコメントを付けることができ、コメントの平均年齢、つまり平均年齢を調べる必要があります:cal_date
。:cal_date
追加のメトリックは、すべてのエントリ/コメントまたはエントリごとの最大値などを収集するのに最適です...
これは理にかなっていますか?詳細が必要ですか?解決策を得る義務があることを嬉しく思います。しばらくの間、日付の計算に混乱していました。
これを考えるもう 1 つの方法は、図書館の本のモデルを使用することです。多くの本があり、各本には多くのチェックアウト/インがあります。各本がチェックアウトされる平均時間と、すべての本がチェックアウトされる平均時間を見つける必要があります。繰り返しますが、指標だけですが、これらがすべて日付であるという事実は紛らわしいです。
もう1つ
、を使用して出力に追加のフィールドを含めるにはどうすればよい$push
ですか? 私はこれを機能させることができますが、たとえばバーコードが配列に2回含まれています"barcode" => ["H-131887", "H-131887"]
php - 2 つの time() 値の違い
たとえば、2 つの time() 値があります。
それらの違いを解決し、出力を年、月、週、日、時間、分、秒などとして表示するにはどうすればよいですか。
上記の2つの値には32秒の差があると思うので、この場合は32秒を表示したいと思います。
php - PHP DateTime 変換エラー
私はこのコードを使用しています:
そしてこのエラーを取得します:キャッチ可能な致命的なエラー:クラスDateIntervalのオブジェクトを文字列に変換できませんでした
問題を解決する方法がわかりません。
loops - Lua 日付操作ループ
調整したい 2 つの日付値を使用してバッチ スクリプトを実行し、スクリプトを再度実行しようとしています。これらの日付値を調整する lua スクリプトを参照したいと思います。ほとんどのプロジェクトがこの言語でコーディングされているという理由だけで、私は lua を使用しています。
変数が start=01/01/2012 および end=02/01/2012 である場合、これらの日付を両方とも 14 日間進めるにはどうすればよいでしょうか? 次に、それを実行してから、もう一度ループして、両方をさらに 14 日間進めたいと思います。これは、私が決定した日付でループが壊れるまで続きます。この方法でこれを達成することは可能ですか、それとも間違っていますか?
日付から「dd」を取り出して14上に移動する関数を使用して、string.gsubに関連する何かを実行できると思います。 2012 年 1 月 45 日のような日付を読み取ろうとしますか?