2017-09-02 20 views
0
私は私が何かを作成するつもりだとき

は、現在のシステムの日付と時刻

は、今私は現在しようと、私はしたいのDateTimePickerを使用しています、フォーム上の私の現在のシステム(PC)時間を表示するにはどうすればよい

を表示します"time_start"フォームは自動的に私のPCで使用されている時間を取得します。

<?= $form->field($model, 'time_start')->widget(
    DateTimePicker::className(), [ 
     'options'  => [ 'placeholder' => 'Render Time' ], 
     'pluginOptions' => [ 'autoclose' => true, ] 
    ] 
); ?> 
+1

PH PはあなたのPCではなくサーバ上で動作します。それはあなたが別のことを話さない限り、サーバー時間を使用します。あなたは、PCからPHPスクリプトに時間を送る必要があります。それは、 '日付ピッカー'で使用する時間を使用することができます –

答えて

1

あなたは前ので、あなたの問題は、あなたが例えばを必要とする値を割り当てるためのPHPのfunctinを使用してcontrollerActionに管理することができ

..レンダリング呼び出して、あなたのコントローラに直接$モデル - >時間_に値を割り当てることができますactionCreateで

public function actionCreate() 
{ 
    $model = new MyModel(); 

    if ($model->load(Yii::$app->request->post()) && $model->save()) { 
     return $this->redirect(['view', 'id' => $model->id]); 
    } else { 
     // assign the the date and time of the server that the code runs on. 
     $model->time_start = date("d-m-Y H:i:s"); 
     return $this->render('create', [ 
      'model' => $model, 
     ]); 
    } 
} 

たり、特定のタイムゾーンが必要な場合

public function actionCreate() 
{ 
    $model = new MyModel(); 

    if ($model->load(Yii::$app->request->post()) && $model->save()) { 
     return $this->redirect(['view', 'id' => $model->id]); 
    } else { 
     // assign the the date and time of the server that the code runs on. 
     // 
     $my_date = new DateTime("now", new DateTimeZone('America/New_York')); 

     $model->time_start = $my_date; 
     return $this->render('create', [ 
      'model' => $model, 
     ]); 
    } 
} 
+0

それはうまく動作します、それは正しい日付が表示されますが、時間はありません?私はそのタイムゾーンのために、どのように私のタイムゾーンを変更するのですか? – noobkoder

+0

@noobkoderの回答は – scaisEdge

+0

です。私はタイムゾーンを変更する必要はありません。問題は、私がフォームを作成しているときに適切な時間が表示されないのですが、フォームがすでに作成されていれば、私はなぜそれほど混乱しないのでしょうか?とにかく助けてくれてありがとうございました。本当に助けてくれてありがとう – noobkoder

関連する問題