2017-09-02 114 views
0

如何顯示在表單上我的當前系統(PC)的時間顯示當前系統日期和時間

現在,我目前正在使用一個DateTimePicker,我想嘗試當我要創造一個東西形成「time_start」會自動獲得我的電腦上正在使用的時間。

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

PH P在服務器上運行而不是您的電腦。它將使用服務器時間,除非您以不同的方式說明。你將不得不把時間從PC發送到PHP腳本。然後它可以計算出在'日期選擇器'中使用的時間 –

回答

1

您可以分配值$模型 - > TIME_START直接在控制器打電話之前渲染..

,所以你的問題可以在controllerAction使用PHP載體作用的分配,需要安裝價值管理在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

相關問題