gpt4 book ai didi

php - 如何在 Grocery 店中减去 DateTime?

转载 作者:可可西里 更新时间:2023-11-01 08:48:17 25 4
gpt4 key购买 nike

我需要执行的函数处理 DateTime。

public function dtr() {
try {
$crud = new grocery_CRUD();

$crud->set_theme('flexigrid');
$crud->set_table('dtr');
$crud->set_subject('Employee DTR');
$crud->required_fields('employee_id', 'time_started', 'time_ended');
$crud->display_as('employee_id','Name')
->display_as('date','Date')
->display_as('time_started','Time Started')
->display_as('time_ended','Time Ended');

$crud->set_relation('employee_id', 'employee', '{employee_fname} {employee_mname} {employee_lname}');

$crud->columns('employee_id', 'time_started', 'time_ended');
$crud->fields('employee_id', 'time_started', 'time_ended', 'work_time');
$crud->field_type('work_time', 'hidden');
$crud->field_type('normal_time', 'hidden');
$crud->field_type('over_time', 'hidden');

$crud->callback_before_update(array($this,'Working_time'));
$crud->callback_before_insert(array($this,'working_time'));

$output = $crud->render();

$this->output($output);
} catch(Exception $e) {
show_error($e->getMessage().' --- '.$e->getTraceAsString());
}
}

在回调的帮助下,我要做的是从 time_ended 中减去 time_started。这样的结果将是 work_time 的值。

public function working_time($post_array, $primary_key = null) {
$post_array['work_time'] = (STRTOTIME($post_array['time_ended']) - STRTOTIME($post_array['time_started'])) / 3600;
return $post_array;
}

问题从这里开始,它返回 0000-00-00 00:00:00 并将该值存储到数据库中。任何帮助将不胜感激。

最佳答案

假设 $post_array['time_ended']$post_array['time_started'] 中的数据你的函数返回 work_time 作为时间戳,而不是日期,所以你有使用 php 函数 date 将其转换为日期:

$post_array['work_time'] = date("Y-m-d H:i:s",(STRTOTIME($post_array['time_ended']) - STRTOTIME($post_array['time_started'])) )

关于php - 如何在 Grocery 店中减去 DateTime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21456223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com