web-dev-qa-db-ja.com

入力タイプ「datetime-local」の値を設定する方法は?

私はこれを試しました:

<input type="datetime-local"  value="<?php echo $row['Time']; ?>" class="date" name="start" REQUIRED>

この入力フィールドの値をデータベースのデータで設定するにはどうすればよいですか?
動作しません!!
編集も可能にする必要があります。
または別のタイプの入力を使用する必要がありますか? $ row ['Time'];データベースからです!

17
Jbadminton

$row['Time']の内容は正確にはわかりませんが、次のようになります。

定義

RFC 3339で定義されている有効な日時と、これらの追加の資格:

  • 日付/時刻構文のリテラル文字TおよびZは常に大文字でなければなりません
  • 代わりに、日付満期生産は、0より大きい数値を表す4桁以上の数字として定義されます

  • 1990-12-31T23:59:60Z
  • 1996-12-19T16:39:57-08:00

ソリューション

RFC 3339形式でPHPを使用して作成できます。

echo date('Y-m-d\TH:i:sP', $row['Time']);

または別の方法で:

echo date("c", strtotime($row['Time']));  

または客観的なスタイルを好む場合:

echo (new DateTime($row['Time']))->format('c');

コード内

したがって、コードでは次のようになります。

<input type="datetime-local"  value="<?php echo date('Y-m-d\TH:i:sP', $row['Time']); ?>" class="date" name="start" REQUIRED>

または

<input type="datetime-local"  value="<?php echo date("c", strtotime($row['Time'])); ?>" class="date" name="start" REQUIRED>

手動

16
Karol Gasienica

それは簡単です、そして私のために働いて最初にあなたのPHP値をこの形式に変換します

 <?php  $datetime = new DateTime($timeinout[0]->time_in);   ?>

次に、html input要素の値でこの形式を使用します

<input type="datetime-local" id="txt_time_in" placeholder="Time In" name="timein" value = "<?php echo $datetime->format('Y-m-d\TH:i:s'); ?>" class="form-control" /> 

これにより、入力要素に値が設定されます

7
Mohsin Shoukat

使用できます

date('Y-m-d\TH:i'); //Example result: '2017-01-01T01:01'

tではなく\ Tを使用する場合(動作しない)

date('Y-m-dTH:i'); //Example result: '2017-01-01UTC01:01'
4
Ferhat KOÇER

カロル・ガシエニカの答えは素晴らしい説明ですが、彼らの返信でも私にはうまくいきませんでした

date('Y-m-d\TH:i:s', $row['Time']); //Gives me 1970-01-01 00:00
date('Y-m-d\TH:i:sP', $row['Time']); //Gives me no display
date("c", strtotime($row['Time'])); //No display too

私のために働いたのはこれです

$t = $row['Time'];
date('Y-m-d\TH:i:s', strtotime($t)); // This got it perfectly

しかし、私はまだ説明のおかげで投票しました。

1
ailia
$tripid=$_REQUEST['tripid'];
$sql="SELECT * FROM tripdetails WHERE trip_id='".$tripid."'";
$trpresult=mysqli_query($connect,$sql);
  if(mysqli_num_rows($trpresult)==1)
    {
      $trpdetails=mysqli_fetch_assoc($trpresult);
    }
 $trpstartdate = substr_replace($trpdetails['trip_start_date'],T,11,0);

 $string = preg_replace('/\s+/', '', $trpstartdate);

これはHTMLパーツです

<input type="datetime-local" name="trip_start_date" id="cal" value="<?php echo $string?>">
0
Rishi