3

私のアプリケーションでは、「リマインダー」を作成するための機能を開発しています。

リマインダーには日付と時刻があります。私のアプリケーションには、リマインダーを作成/編集するためのフォームがあります。これには、この情報を入力するための2つの別個のフィールドがあります。

<input type="text" name="date"></input> <!-- datepicker plugin -->

<input type="text" name="time"></input> <!-- timepicker plugin -->

今では原則として、日付/時刻を保存する必要があるときは常にDATETIME列を使用していますが、ユーザーが入力した日付/時刻を保存する必要があるのはこれが初めてです。

アプリケーションとの間でデータを挿入/取得する方が簡単なので、DATE列とTIME列を別々にするのが最適だと思いました。たとえば、2つの入力フィールドの値を組み合わせて、データベースに挿入する単一の値を作成する必要はありません。同様に、編集モードでフォームフィールドに入力するために、1つの値を2つの値に分割する必要はありません。

しかし一方で、1つの列を使用した場合、テーブルのクエリは簡単になりませんか?どう思いますか?

4

6 に答える 6

4

ボトムアップ(データベースは一番下)で構築する必要があります。アプリケーションについては考えないでください。データベースだけを考えてください。では、データベース レベルで何が理にかなっているのでしょう。日付時刻。

そのため、アプリケーション レベルで追加のコードを記述する必要があります。

于 2012-08-16T22:56:59.593 に答える
2

見てください

jQuery UI の Datepicker に Timepicker を追加する

http://trentrichardson.com/examples/timepicker/

mysql形式に従って日時を変換して保存します

$mydate = strtotime($_POST['date']);
$myfinaldate = date("d-m-y", $mydate);

$mytime = strtotime($_POST['time']);
$myfinaltime = date("H:i:s", $mytime);
于 2012-08-16T22:56:37.050 に答える
0

列を区切ることは非論理的です。タイムスタンプをデータ型として使用でき、mktime 関数を使用して日付と時刻を簡単に解析できます。

于 2012-08-16T22:58:12.940 に答える
0

作成しているシステムに依存しませんか。2038 年以降の日付を保存する場合は、日時を別々に保存します。

于 2012-12-14T11:48:08.640 に答える
0

予約アプリケーションを開発していて、一方ではユーザーの予約をいつ、いつ行うかを知る必要があり、他方では、ユーザーを医師のスケジュールに合わせる必要があるとします。医師のスケジュールをデータベースに保存し、(とりわけ) 医師がいつ (何曜日に) 何時に対応できるかを知る必要があります。何曜日のことはしばらく忘れて、まずタイム スケジュールに注目してみましょう... 医師が特定の暦年に 6 か月勤務することがわかっている場合は、プログラム可能なスケジュールを作成する必要があります。(1 月 - 6 月)、彼または彼女は (9-5 M、W、Fr)、および (10-3 T、Th) で働くことができます。土・日曜はお休みです。そのため、曜日ごとに毎日の開始時刻と終了時刻を保持する 2 つの列を使用して、毎日のタイム スケジュールを保持するテーブルを作成します。合計 14 列と、主キーおよび場合によっては副キー。それでは、日付演算の時間です (ここが難しいところです:-|...

あなたはあなたのクエリを言うことができます:(mySQL)

あれこれ選んで…

ここで、form.theapptdatetime は ~ のdoctorschedule_startime_tuesdaydoctorschedule_endime_tuesday

これにより、datetime が doctorschedulestarttime および endtime の日付範囲内にあるかどうかが一致します...しかし、必要なのは時間だけである場合はどうなりますか??

時間の値が日時として格納されている場合、日付の計算は引き続き機能しますか???

つまり、doctorschedule_starttime として 01:00:00 を使用している場合、これは算術演算が機能する正当な日付値であるか、または日付部分が強制されますか?

おそらく、時間をvarcharとして保存し、それを適切なdatetime値に変換し、クエリの代わりにコードで算術演算を実行する必要があります????

于 2014-03-10T20:37:16.747 に答える
0

日付と時刻がいつ分割されるかについての例が思い浮かびます。

DATEユーザーが日付ごとにテーブルに 1 つのレコードのみを追加できるように、一意のインデックスの一部を保持することができますがTIME、追加したことを知りたいので、保持DATEしてTIME分離します。

于 2019-05-22T10:51:41.447 に答える